pgsql: Add SQL-callable pg_get_object_address - Mailing list pgsql-committers

From Alvaro Herrera
Subject pgsql: Add SQL-callable pg_get_object_address
Date
Msg-id E1Y3UIH-0002tu-LR@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d7ee82e50f624221db76023c17137661fe69ec61

Modified Files
--------------
src/backend/catalog/objectaddress.c          |  440 ++++++++++++++++++++++++++
src/backend/commands/event_trigger.c         |    1 +
src/backend/parser/parse_type.c              |   46 ++-
src/include/catalog/catversion.h             |    2 +-
src/include/catalog/objectaddress.h          |    1 +
src/include/catalog/pg_proc.h                |    3 +
src/include/nodes/parsenodes.h               |    1 +
src/include/parser/parse_type.h              |    1 +
src/include/utils/builtins.h                 |    3 +
src/test/regress/expected/object_address.out |  399 +++++++++++++++++++++++
src/test/regress/parallel_schedule           |    2 +-
src/test/regress/serial_schedule             |    1 +
src/test/regress/sql/object_address.sql      |  177 +++++++++++
13 files changed, 1059 insertions(+), 18 deletions(-)


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: pgsql: Use a bitmask to represent role attributes
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Revert "Use a bitmask to represent role attributes"