]> granicus.if.org Git - postgresql/commit
Use TypeName to represent type names in certain commands
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 30 Dec 2014 16:57:23 +0000 (13:57 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 30 Dec 2014 16:57:23 +0000 (13:57 -0300)
commit3f88672a4e4d8e648d24ccc65937da61c7660854
tree3a04c758180c05e839bbf82c543d02358ecfbb88
parent930fd68455576dada48521a6cef642caddea3c63
Use TypeName to represent type names in certain commands

In COMMENT, DROP, SECURITY LABEL, and the new pg_get_object_address
function, we were representing types as a list of names, same as other
objects; but types are special objects that require their own
representation to be totally accurate.  In the original COMMENT code we
had a note about fixing it which was lost in the course of c10575ff005.
Change all those places to use TypeName instead, as suggested by that
comment.

Right now the original coding doesn't cause any bugs, so no backpatch.
It is more problematic for proposed future code that operate with object
addresses from the SQL interface; type details such as array-ness are
lost when working with the degraded representation.

Thanks to Petr JelĂ­nek and Dimitri Fontaine for offlist help on finding
a solution to a shift/reduce grammar conflict.
src/backend/catalog/objectaddress.c
src/backend/commands/dropcmds.c
src/backend/parser/gram.y
src/test/regress/sql/object_address.sql