Add SQL-callable pg_get_object_address
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 23 Dec 2014 18:31:29 +0000 (15:31 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 23 Dec 2014 18:31:29 +0000 (15:31 -0300)
commitd7ee82e50f624221db76023c17137661fe69ec61
treef216334b5fa69a671f68e2442a3b602472ec7135
parent1826987a46d079458007b7b6bbcbbd852353adbb
Add SQL-callable pg_get_object_address

This allows access to get_object_address from SQL, which is useful to
obtain OID addressing information from data equivalent to that emitted
by the parser.  This is necessary infrastructure of a project to let
replication systems propagate object dropping events to remote servers,
where the schema might be different than the server originating the
DROP.

This patch also adds support for OBJECT_DEFAULT to get_object_address;
that is, it is now possible to refer to a column's default value.

Catalog version bumped due to the new function.

Reviewed by Stephen Frost, Heikki Linnakangas, Robert Haas, Andres
Freund, Abhijit Menon-Sen, Adam Brightwell.
13 files changed:
src/backend/catalog/objectaddress.c
src/backend/commands/event_trigger.c
src/backend/parser/parse_type.c
src/include/catalog/catversion.h
src/include/catalog/objectaddress.h
src/include/catalog/pg_proc.h
src/include/nodes/parsenodes.h
src/include/parser/parse_type.h
src/include/utils/builtins.h
src/test/regress/expected/object_address.out [new file with mode: 0644]
src/test/regress/parallel_schedule
src/test/regress/serial_schedule
src/test/regress/sql/object_address.sql [new file with mode: 0644]