From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | WIP: extensible enums |
Date: | 2010-08-23 09:35:09 |
Message-ID: | 4C7240CD.8090306@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Attached is a WIP patch that allows enums to be extended with additional
labels arbitrarily. As previously discussed, it works by adding an
explicit sort order column to pg_enum. It keeps track of whether the
labels are correctly sorted by oid value, and if so uses that for
comparison, so the possible performance impact on existing uses, and on
almost all cases where a label is added at the end of the list, should
be negligible.
Open items include
* some additional error checking required
* missing documentation
* pg_upgrade considerations
To add a label at the end of the list, do:
ALTER TYPE myenum ADD 'newlabel';
To add a label somewhere else, do:
ALTER TYPE myenum ADD 'newlabel' BEFORE 'existinglabel';
or
ALTER TYPE myenum ADD 'newlabel' AFTER 'existinglabel';
I'm not wedded to the syntax. Let the bikeshedding begin.
cheers
andrew
Attachment | Content-Type | Size |
---|---|---|
venum.patch | text/x-patch | 95.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Marko Kreen | 2010-08-23 10:21:05 | Re: UTF16 surrogate pairs in UTF8 encoding |
Previous Message | Magnus Hagander | 2010-08-23 08:55:06 | Re: More vacuum stats |