Re: WIP: extensible enums - Mailing list pgsql-hackers

From Thom Brown
Subject Re: WIP: extensible enums
Date
Msg-id AANLkTimSZ7kTbvA7dNYfvpYF0OgXj07qGca_iZoao_OW@mail.gmail.com
Whole thread Raw
In response to WIP: extensible enums  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
On 23 August 2010 10:35, Andrew Dunstan <andrew@dunslane.net> wrote:
>
> 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

When you write the supporting doc changes, you might want to add a
note in to mention that you cannot remove a label once it has been
added.

Will the modified enums remain intact after a dump/restore?

--
Thom Brown
Registered Linux user: #516935


pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: WIP: extensible enums
Next
From: David Fetter
Date:
Subject: Re: WIP: extensible enums