pgsql: Support user mappings in get_object_address

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Support user mappings in get_object_address
Date: 2015-03-11 20:04:33
Message-ID: E1YVmrp-00006e-1l@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Support user mappings in get_object_address

Since commit 72dd233d3ef we were trying to obtain object addressing
information in sql_drop event triggers, but that caused failures when
the drops involved user mappings. This addition enables that to work
again. Naturally, pg_get_object_address can work with these objects
now, too.

I toyed with the idea of removing DropUserMappingStmt as a node and
using DropStmt instead in the DropUserMappingStmt grammar production,
but that didn't go very well: for one thing the messages thrown by the
specific code are specialized (you get "server not found" if you specify
the wrong server, instead of a generic "user mapping for ... not found"
which you'd get it we were to merge this with RemoveObjects --- unless
we added even more special cases). For another thing, it would require
to pass RoleSpec nodes through the objname/objargs representation used
by RemoveObjects, which works in isolation, but gets messy when
pg_get_object_address is involved. So I dropped this part for now.

Reviewed by Stephen Frost.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/890192e99af5db1d15d5bb73f3f1044faa1d2758

Modified Files
--------------
src/backend/catalog/objectaddress.c | 78 +++++++++++++++++++++++++-
src/backend/commands/event_trigger.c | 1 +
src/include/nodes/parsenodes.h | 1 +
src/test/regress/expected/event_trigger.out | 9 ++-
src/test/regress/expected/object_address.out | 19 +++++--
src/test/regress/sql/event_trigger.sql | 5 +-
src/test/regress/sql/object_address.sql | 9 +--
7 files changed, 109 insertions(+), 13 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2015-03-11 21:28:21 Re: pgsql: PL/Python: Avoid lossiness in float conversion
Previous Message Peter Eisentraut 2015-03-11 19:48:57 pgsql: PL/Python: Avoid lossiness in float conversion