Can we only add values to enums?

Started by PG Bug reporting formabout 8 years ago5 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.5/static/sql-altertype.html
Description:

I need to add a value to an enum, so I found this page, which answered my
question. However, I found it quite confusing that it only documents adding
a value. I would expect it to also document how to remove a value from an
enum? Is this not possible? If not, I consider it a bug. But either way, if
it is not possible, you should explicitly document it on this page.

In reply to: PG Bug reporting form (#1)
Re: Can we only add values to enums?

2018-03-12 20:28 GMT-03:00 PG Doc comments form <noreply@postgresql.org>:

I need to add a value to an enum, so I found this page, which answered my
question. However, I found it quite confusing that it only documents adding
a value. I would expect it to also document how to remove a value from an
enum? Is this not possible? If not, I consider it a bug. But either way, if
it is not possible, you should explicitly document it on this page.

If it is not document, this means that it is not supported. It is not
a bug. It is by design. Read the discussion about this feature at [1]/messages/by-id/4C1B95E2.6090508@dunslane.net.
Removing a enum value requires a table rewrite. I'm not sure it is
worth a note.

[1]: /messages/by-id/4C1B95E2.6090508@dunslane.net

--
Euler Taveira Timbira -
http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento

#3Jonathan S. Katz
jkatz@postgresql.org
In reply to: Euler Taveira de Oliveira (#2)
Re: Can we only add values to enums?

On Mar 15, 2018, at 11:33 PM, Euler Taveira <euler@timbira.com.br> wrote:

2018-03-12 20:28 GMT-03:00 PG Doc comments form <noreply@postgresql.org>:

I need to add a value to an enum, so I found this page, which answered my
question. However, I found it quite confusing that it only documents adding
a value. I would expect it to also document how to remove a value from an
enum? Is this not possible? If not, I consider it a bug. But either way, if
it is not possible, you should explicitly document it on this page.

If it is not document, this means that it is not supported. It is not
a bug. It is by design. Read the discussion about this feature at [1].
Removing a enum value requires a table rewrite. I'm not sure it is
worth a note.

I would say that’s the exact reason why it should be documented,
so it’s clear that it was by design.

We could also redirect people to DOMAINs if they need more
flexibility in what is added/removed from an “enum-like” type.

Jonathan

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jonathan S. Katz (#3)
Re: Can we only add values to enums?

"Jonathan S. Katz" <jkatz@postgresql.org> writes:

I would say that’s the exact reason why it should be documented,
so it’s clear that it was by design.

Seems reasonable. Maybe something in 8.7.4 enum implementation details?

regards, tom lane

#5Jonathan S. Katz
jkatz@postgresql.org
In reply to: Tom Lane (#4)
Re: Can we only add values to enums?

On Mar 16, 2018, at 10:48 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Jonathan S. Katz" <jkatz@postgresql.org> writes:

I would say that’s the exact reason why it should be documented,
so it’s clear that it was by design.

Seems reasonable. Maybe something in 8.7.4 enum implementation details?

I was going to take a crack at writing it, and noticed it had already
been committed:

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=013c0baaddd9df7e1f940184a8ab8e478214b46c <https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=013c0baaddd9df7e1f940184a8ab8e478214b46c&gt;

Thanks for the quick work!

Jonathan