Re: extensible enum types

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: extensible enum types
Date: 2010-06-23 23:30:29
Message-ID: 4C229915.3080803@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
>
>> Well, we don't need the enum value to map into the entire oid range.
>> Can't we just add one to the top-most value and see if there is a
>> conflict?
>>
>
> If you don't use the OID counter to generate the new value, you're going
> to have problems with race conditions. There's also that small chance
> that there is no free value before 2^32.
>
> The bottom line here is not wanting a feature that "usually" works but
> fails once in awhile on the basis of conditions the user can't control.
>
>

Yeah, what I'm now hoping to be able to do, following good suggestions
from Tom, is to provide a way to get virtually no degradation in bulk
comparison performance in the common case where any additions have been
made at the end of the list with no oid wraparound, and acceptable
performance otherwise, but provide for an ability to add new values at
arbitrary places in the ordering, with no limit.

If we can do that why would we want less?

cheers

andrew

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Mark Wong 2010-06-24 00:36:44 Re: Explicit psqlrc
Previous Message Tom Lane 2010-06-23 22:08:55 Re: extensible enum types