Re: Re: [COMMITTERS] pgsql: Update: < * Allow adding enumerated values to an existing
| От | Tom Lane |
|---|---|
| Тема | Re: Re: [COMMITTERS] pgsql: Update: < * Allow adding enumerated values to an existing |
| Дата | |
| Msg-id | 660.1209158485@sss.pgh.pa.us обсуждение |
| Ответ на | Re: Re: [COMMITTERS] pgsql: Update: < * Allow adding enumerated values to an existing ("Tom Dunstan" <pgsql@tomd.cc>) |
| Ответы |
Re: Re: [COMMITTERS] pgsql: Update: < * Allow adding enumerated values to an existing
|
| Список | pgsql-hackers |
"Tom Dunstan" <pgsql@tomd.cc> writes:
> 1 - We space the values out as evenly as we can across the 65000ish
> range and allow people to delete, insert and append, but not reorder.
> If they do the above gratuitously we might have to do a rewrite, but
> they'll have to get fairly busy to do it. Rewrite would be required
> for reorderings.
> 2- We totally give up the idea of storing a value on disk that is
> directly comparable (other than equality), and simply number from zero
> up, using that number to index into an array (or use as syscache key
> or whatever) containing the real ordering information. We can then
> reorder or do any other operations to our heart's content.
> I'm actually favouring option 2 -
I'm not ... it strikes me that it will add implementation complexity and
runtime overhead for a feature that two days ago we didn't think we
needed at all, and IMHO one we still shouldn't be thinking to expend a
lot of work on.
I like #1 with no rewrite support. That strikes me as covering 99%
of the requirements with 10% of the work.
Further, as already noted, if you do have to rewrite then a series of
manual ALTER COLUMN TYPE operations would probably be a *better* answer
than a monolithic implementation, because of the locking problems
involved in doing it in one transaction. (Oh, and don't forget the disk
space problem: double the disk space for every table involved,
simultaneously.)
regards, tom lane
PS: no, I do *not* want to hear any proposals for ALTER TYPE
CONCURRENTLY ;-)
В списке pgsql-hackers по дате отправления: