@ -382,6 +382,11 @@ SELECT pg_get_object_address('subscription', '{one}', '{}');
ERROR: subscription "one" does not exist
SELECT pg_get_object_address('subscription', '{one,two}', '{}');
ERROR: name list length must be exactly 1
-- Make sure that NULL handling is correct.
\pset null 'NULL'
-- Temporarily disable fancy output, so as future additions never create
-- a large amount of diffs.
\a\t
-- test successful cases
WITH objects (type, name, args) AS (VALUES
('table', '{addr_nsp, gentable}'::text[], '{}'::text[]),
@ -450,17 +455,15 @@ FROM objects,
pg_identify_object_as_address(classid, objid, objsubid) AS ioa (typ, nms, args),
pg_get_object_address(typ, nms, ioa.args) AS addr2
ORDER BY addr1.classid, addr1.objid, addr1.objsubid;
type | schema | name | identity | roundtrip
---------------------------+------------+-------------------+----------------------------------------------------------------------+-----------
default acl | | | for role regress_addr_user in schema public on tables | t
default acl | | | for role regress_addr_user on tables | t
default acl|NULL|NULL|for role regress_addr_user in schema public on tables|t
default acl|NULL|NULL|for role regress_addr_user on tables|t
type|pg_catalog|_int4|integer[]|t
type|addr_nsp|gencomptype|addr_nsp.gencomptype|t
type|addr_nsp|genenum|addr_nsp.genenum|t
type|addr_nsp|gendomain|addr_nsp.gendomain|t
function | pg_catalog | | pg_catalog.pg_identify_object(pg_catalog.oid,pg_catalog.oid,integer) | t
aggregate | addr_nsp | | addr_nsp.genaggr(integer) | t
procedure | addr_nsp | | addr_nsp.proc(integer) | t
function|pg_catalog|NULL| pg_catalog.pg_identify_object(pg_catalog.oid,pg_catalog.oid,integer)|t
aggregate|addr_nsp|NULL|addr_nsp.genaggr(integer)| t
procedure|addr_nsp|NULL|addr_nsp.proc(integer)| t
sequence|addr_nsp|gentable_a_seq|addr_nsp.gentable_a_seq|t
table|addr_nsp|gentable|addr_nsp.gentable|t
table column|addr_nsp|gentable|addr_nsp.gentable.b|t
@ -471,39 +474,37 @@ ORDER BY addr1.classid, addr1.objid, addr1.objsubid;
materialized view|addr_nsp|genmatview|addr_nsp.genmatview|t
foreign table|addr_nsp|genftable|addr_nsp.genftable|t
foreign table column|addr_nsp|genftable|addr_nsp.genftable.a|t
role | | regress_addr_user | regress_addr_user | t
server | | addr_fserv | addr_fserv | t
user mapping | | | regress_addr_user on server integer | t
foreign-data wrapper | | addr_fdw | addr_fdw | t
access method | | btree | btree | t
operator of access method | | | operator 1 (integer, integer) of pg_catalog.integer_ops USING btree | t
function of access method | | | function 2 (integer, integer) of pg_catalog.integer_ops USING btree | t
default value | | | for addr_nsp.gentable.b | t
cast | | | (bigint AS integer) | t
table constraint | addr_nsp | | a_chk on addr_nsp.gentable | t
domain constraint | addr_nsp | | domconstr on addr_nsp.gendomain | t
role|NULL|regress_addr_user|regress_addr_user| t
server|NULL|addr_fserv|addr_fserv| t
user mapping|NULL|NULL|regress_addr_user on server integer| t
foreign-data wrapper|NULL|addr_fdw|addr_fdw| t
access method|NULL|btree|btree| t
operator of access method|NULL|NULL| operator 1 (integer, integer) of pg_catalog.integer_ops USING btree|t
function of access method|NULL|NULL| function 2 (integer, integer) of pg_catalog.integer_ops USING btree|t
default value|NULL|NULL|for addr_nsp.gentable.b| t
cast|NULL|NULL|(bigint AS integer)| t
table constraint|addr_nsp|NULL|a_chk on addr_nsp.gentable| t
domain constraint|addr_nsp|NULL|domconstr on addr_nsp.gendomain| t
conversion|pg_catalog|koi8_r_to_mic|pg_catalog.koi8_r_to_mic|t
language | | plpgsql | plpgsql | t
schema | | addr_nsp | addr_nsp | t
language|NULL|plpgsql|plpgsql| t
schema|NULL|addr_nsp|addr_nsp| t
operator class|pg_catalog|int4_ops|pg_catalog.int4_ops USING btree|t
operator | pg_catalog | | pg_catalog.+(integer,integer) | t
rule | | | "_RETURN" on addr_nsp.genview | t
trigger | | | t on addr_nsp.gentable | t
operator|pg_catalog|NULL|pg_catalog.+(integer,integer)| t
rule|NULL|NULL|"_RETURN" on addr_nsp.genview| t
trigger|NULL|NULL|t on addr_nsp.gentable| t
operator family|pg_catalog|integer_ops|pg_catalog.integer_ops USING btree|t
policy | | | genpol on addr_nsp.gentable | t
policy|NULL|NULL|genpol on addr_nsp.gentable| t
statistics object|addr_nsp|gentable_stat|addr_nsp.gentable_stat|t
collation|pg_catalog|"default"|pg_catalog."default"|t
transform | | | for integer on language sql | t
transform|NULL|NULL|for integer on language sql| t
text search dictionary|addr_nsp|addr_ts_dict|addr_nsp.addr_ts_dict|t
text search parser|addr_nsp|addr_ts_prs|addr_nsp.addr_ts_prs|t
text search configuration|addr_nsp|addr_ts_conf|addr_nsp.addr_ts_conf|t
text search template|addr_nsp|addr_ts_temp|addr_nsp.addr_ts_temp|t
subscription | | regress_addr_sub | regress_addr_sub | t
publication | | addr_pub | addr_pub | t
publication relation | | | addr_nsp.gentable in publication addr_pub | t
publication namespace | | | addr_nsp in publication addr_pub_schema | t
(50 rows)
subscription|NULL|regress_addr_sub|regress_addr_sub|t
publication|NULL|addr_pub|addr_pub|t
publication relation|NULL|NULL|addr_nsp.gentable in publication addr_pub|t
publication namespace|NULL|NULL|addr_nsp in publication addr_pub_schema|t
---
--- Cleanup resources
---
@ -537,11 +538,6 @@ DROP USER regress_addr_user;
--
-- Checks for invalid objects
--
-- Make sure that NULL handling is correct.
\pset null 'NULL'
-- Temporarily disable fancy output, so as future additions never create
-- a large amount of diffs.
\a\t
-- Keep this list in the same order as getObjectIdentityParts()
-- in objectaddress.c.
WITH objects (classid, objid, objsubid) AS (VALUES