Andrew Dunstan <and...@dunslane.net> writes: > On 10/18/2010 10:52 AM, Tom Lane wrote: >> We could possibly deal with enum types that follow the existing >> convention if we made the cache entry hold a list of all the original, >> known-to-be-sorted OIDs. (This could be reasonably compact and cheap to >> probe if it were represented as a starting OID and a Bitmapset of delta >> values, since we can assume that the initial set of OIDs is pretty close >> together.)
> How are we going to know what those are? You read pg_enum while constructing the cache entry, sort by nominal sort position, and look to see how many OIDs form a sorted and reasonably compact range. I don't see a need to know which of those OIDs were actually original; you can get close enough with heuristic reverse engineering. The only real limitation is not wanting the bitmapset to get too enormous, so you might often be able to incorporate OIDs that in fact weren't original, so long as they chanced to be OK order-wise. This'd be a win anytime it saved you from having to proceed to step 4 in comparisons. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers