mirror of
https://github.com/postgres/postgres.git
synced 2026-07-11 02:31:01 -04:00
Readable identity strings for property graph objects
The "identity" column of pg_identify_object() for property graph objects can be long string of names connected by "of", e.g. "a of l of e of g". The type of the first named object is given by column "type". But the types of intermediate objects are not easy to find from the identity string especially when some of them share the same name. Some objects, like user mappings or authorization identifier members, add types of objects other than the first one in the identity string. Do the same for property graph objects. Author: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://www.postgresql.org/message-id/flat/aej1DkLwhyZWmtxJ%40bdtpg
This commit is contained in:
parent
f0a4f280b4
commit
2a7e95b659
2 changed files with 30 additions and 30 deletions
|
|
@ -6172,7 +6172,7 @@ getObjectIdentityParts(const ObjectAddress *object,
|
|||
break;
|
||||
}
|
||||
pge = (Form_pg_propgraph_element) GETSTRUCT(tup);
|
||||
appendStringInfo(&buffer, "%s of ", quote_identifier(NameStr(pge->pgealias)));
|
||||
appendStringInfo(&buffer, "%s of property graph ", quote_identifier(NameStr(pge->pgealias)));
|
||||
|
||||
getRelationIdentity(&buffer, pge->pgepgid, objname, false);
|
||||
if (objname)
|
||||
|
|
@ -6196,7 +6196,7 @@ getObjectIdentityParts(const ObjectAddress *object,
|
|||
}
|
||||
|
||||
pgl = (Form_pg_propgraph_label) GETSTRUCT(tup);
|
||||
appendStringInfo(&buffer, "%s of ", quote_identifier(NameStr(pgl->pgllabel)));
|
||||
appendStringInfo(&buffer, "%s of property graph ", quote_identifier(NameStr(pgl->pgllabel)));
|
||||
getRelationIdentity(&buffer, pgl->pglpgid, objname, false);
|
||||
if (objname)
|
||||
*objname = lappend(*objname, pstrdup(NameStr(pgl->pgllabel)));
|
||||
|
|
@ -6218,7 +6218,7 @@ getObjectIdentityParts(const ObjectAddress *object,
|
|||
}
|
||||
|
||||
pgp = (Form_pg_propgraph_property) GETSTRUCT(tup);
|
||||
appendStringInfo(&buffer, "%s of ", quote_identifier(NameStr(pgp->pgpname)));
|
||||
appendStringInfo(&buffer, "%s of property graph ", quote_identifier(NameStr(pgp->pgpname)));
|
||||
getRelationIdentity(&buffer, pgp->pgppgid, objname, false);
|
||||
if (objname)
|
||||
*objname = lappend(*objname, pstrdup(NameStr(pgp->pgpname)));
|
||||
|
|
@ -6251,7 +6251,7 @@ getObjectIdentityParts(const ObjectAddress *object,
|
|||
pgelform = (Form_pg_propgraph_element_label) GETSTRUCT(tup);
|
||||
|
||||
labelname = get_propgraph_label_name(pgelform->pgellabelid);
|
||||
appendStringInfo(&buffer, "%s of ", quote_identifier(labelname));
|
||||
appendStringInfo(&buffer, "%s of element ", quote_identifier(labelname));
|
||||
ObjectAddressSet(oa, PropgraphElementRelationId, pgelform->pgelelid);
|
||||
appendStringInfoString(&buffer, getObjectIdentityParts(&oa, objname,
|
||||
objargs, false));
|
||||
|
|
@ -6289,7 +6289,7 @@ getObjectIdentityParts(const ObjectAddress *object,
|
|||
plpform = (Form_pg_propgraph_label_property) GETSTRUCT(tup);
|
||||
|
||||
propname = get_propgraph_property_name(plpform->plppropid);
|
||||
appendStringInfo(&buffer, "%s of ", quote_identifier(propname));
|
||||
appendStringInfo(&buffer, "%s of label ", quote_identifier(propname));
|
||||
ObjectAddressSet(oa, PropgraphElementLabelRelationId, plpform->plpellabelid);
|
||||
appendStringInfoString(&buffer, getObjectIdentityParts(&oa, objname,
|
||||
objargs, false));
|
||||
|
|
|
|||
|
|
@ -751,31 +751,31 @@ SELECT (pg_identify_object_as_address(classid, objid, objsubid)).*
|
|||
SELECT (pg_identify_object(classid, objid, objsubid)).*
|
||||
FROM (SELECT DISTINCT classid, objid, objsubid FROM deps_tree)
|
||||
ORDER BY 1, 2, 3, 4;
|
||||
type | schema | name | identity
|
||||
-------------------------------+--------+------+-------------------------------------------------
|
||||
property graph element | | | e of create_property_graph_tests.gt
|
||||
property graph element | | | v1 of create_property_graph_tests.gt
|
||||
property graph element | | | v2 of create_property_graph_tests.gt
|
||||
property graph element label | | | e of e of create_property_graph_tests.gt
|
||||
property graph element label | | | v1 of v1 of create_property_graph_tests.gt
|
||||
property graph element label | | | v2 of v2 of create_property_graph_tests.gt
|
||||
property graph label | | | e of create_property_graph_tests.gt
|
||||
property graph label | | | v1 of create_property_graph_tests.gt
|
||||
property graph label | | | v2 of create_property_graph_tests.gt
|
||||
property graph label property | | | a of v1 of v1 of create_property_graph_tests.gt
|
||||
property graph label property | | | b of v1 of v1 of create_property_graph_tests.gt
|
||||
property graph label property | | | c of e of e of create_property_graph_tests.gt
|
||||
property graph label property | | | k1 of e of e of create_property_graph_tests.gt
|
||||
property graph label property | | | k2 of e of e of create_property_graph_tests.gt
|
||||
property graph label property | | | m of v2 of v2 of create_property_graph_tests.gt
|
||||
property graph label property | | | n of v2 of v2 of create_property_graph_tests.gt
|
||||
property graph property | | | a of create_property_graph_tests.gt
|
||||
property graph property | | | b of create_property_graph_tests.gt
|
||||
property graph property | | | c of create_property_graph_tests.gt
|
||||
property graph property | | | k1 of create_property_graph_tests.gt
|
||||
property graph property | | | k2 of create_property_graph_tests.gt
|
||||
property graph property | | | m of create_property_graph_tests.gt
|
||||
property graph property | | | n of create_property_graph_tests.gt
|
||||
type | schema | name | identity
|
||||
-------------------------------+--------+------+------------------------------------------------------------------------------
|
||||
property graph element | | | e of property graph create_property_graph_tests.gt
|
||||
property graph element | | | v1 of property graph create_property_graph_tests.gt
|
||||
property graph element | | | v2 of property graph create_property_graph_tests.gt
|
||||
property graph element label | | | e of element e of property graph create_property_graph_tests.gt
|
||||
property graph element label | | | v1 of element v1 of property graph create_property_graph_tests.gt
|
||||
property graph element label | | | v2 of element v2 of property graph create_property_graph_tests.gt
|
||||
property graph label | | | e of property graph create_property_graph_tests.gt
|
||||
property graph label | | | v1 of property graph create_property_graph_tests.gt
|
||||
property graph label | | | v2 of property graph create_property_graph_tests.gt
|
||||
property graph label property | | | a of label v1 of element v1 of property graph create_property_graph_tests.gt
|
||||
property graph label property | | | b of label v1 of element v1 of property graph create_property_graph_tests.gt
|
||||
property graph label property | | | c of label e of element e of property graph create_property_graph_tests.gt
|
||||
property graph label property | | | k1 of label e of element e of property graph create_property_graph_tests.gt
|
||||
property graph label property | | | k2 of label e of element e of property graph create_property_graph_tests.gt
|
||||
property graph label property | | | m of label v2 of element v2 of property graph create_property_graph_tests.gt
|
||||
property graph label property | | | n of label v2 of element v2 of property graph create_property_graph_tests.gt
|
||||
property graph property | | | a of property graph create_property_graph_tests.gt
|
||||
property graph property | | | b of property graph create_property_graph_tests.gt
|
||||
property graph property | | | c of property graph create_property_graph_tests.gt
|
||||
property graph property | | | k1 of property graph create_property_graph_tests.gt
|
||||
property graph property | | | k2 of property graph create_property_graph_tests.gt
|
||||
property graph property | | | m of property graph create_property_graph_tests.gt
|
||||
property graph property | | | n of property graph create_property_graph_tests.gt
|
||||
(23 rows)
|
||||
|
||||
\a\t
|
||||
|
|
|
|||
Loading…
Reference in a new issue