mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
Fix opclass/opfamily identity strings
The original representation uses "opcname for amname", which is good
enough; but if we replace "for" with "using", we can apply the returned
identity directly in a DROP command, as in
DROP OPERATOR CLASS opcname USING amname
This slightly simplifies code using object identities to programatically
execute commands on these kinds of objects.
Note backwards-incompatible change:
The previous representation dates back to 9.3 when object identities
were introduced by commit f8348ea3
, but we don't want to change the
behavior on released branches unnecessarily and so this is not
backpatched.
This commit is contained in:
@ -3533,7 +3533,7 @@ getObjectIdentityParts(const ObjectAddress *object,
|
|||||||
appendStringInfoString(&buffer,
|
appendStringInfoString(&buffer,
|
||||||
quote_qualified_identifier(schema,
|
quote_qualified_identifier(schema,
|
||||||
NameStr(opcForm->opcname)));
|
NameStr(opcForm->opcname)));
|
||||||
appendStringInfo(&buffer, " for %s",
|
appendStringInfo(&buffer, " USING %s",
|
||||||
quote_identifier(NameStr(amForm->amname)));
|
quote_identifier(NameStr(amForm->amname)));
|
||||||
if (objname)
|
if (objname)
|
||||||
{
|
{
|
||||||
@ -4070,7 +4070,7 @@ getOpFamilyIdentity(StringInfo buffer, Oid opfid, List **objname, List **objargs
|
|||||||
amForm = (Form_pg_am) GETSTRUCT(amTup);
|
amForm = (Form_pg_am) GETSTRUCT(amTup);
|
||||||
|
|
||||||
schema = get_namespace_name(opfForm->opfnamespace);
|
schema = get_namespace_name(opfForm->opfnamespace);
|
||||||
appendStringInfo(buffer, "%s for %s",
|
appendStringInfo(buffer, "%s USING %s",
|
||||||
quote_qualified_identifier(schema,
|
quote_qualified_identifier(schema,
|
||||||
NameStr(opfForm->opfname)),
|
NameStr(opfForm->opfname)),
|
||||||
NameStr(amForm->amname));
|
NameStr(amForm->amname));
|
||||||
|
@ -373,11 +373,11 @@ SELECT (pg_identify_object(addr1.classid, addr1.objid, addr1.subobjid)).*,
|
|||||||
conversion | pg_catalog | ascii_to_mic | pg_catalog.ascii_to_mic | t
|
conversion | pg_catalog | ascii_to_mic | pg_catalog.ascii_to_mic | t
|
||||||
language | | plpgsql | plpgsql | t
|
language | | plpgsql | plpgsql | t
|
||||||
schema | | addr_nsp | addr_nsp | t
|
schema | | addr_nsp | addr_nsp | t
|
||||||
operator class | pg_catalog | int4_ops | pg_catalog.int4_ops for btree | t
|
operator class | pg_catalog | int4_ops | pg_catalog.int4_ops USING btree | t
|
||||||
operator | pg_catalog | | pg_catalog.+(integer,integer) | t
|
operator | pg_catalog | | pg_catalog.+(integer,integer) | t
|
||||||
rule | | | "_RETURN" on addr_nsp.genview | t
|
rule | | | "_RETURN" on addr_nsp.genview | t
|
||||||
trigger | | | t on addr_nsp.gentable | t
|
trigger | | | t on addr_nsp.gentable | t
|
||||||
operator family | pg_catalog | integer_ops | pg_catalog.integer_ops for btree | t
|
operator family | pg_catalog | integer_ops | pg_catalog.integer_ops USING btree | t
|
||||||
policy | | | genpol on addr_nsp.gentable | t
|
policy | | | genpol on addr_nsp.gentable | t
|
||||||
collation | pg_catalog | "default" | pg_catalog."default" | t
|
collation | pg_catalog | "default" | pg_catalog."default" | t
|
||||||
text search dictionary | addr_nsp | addr_ts_dict | addr_nsp.addr_ts_dict | t
|
text search dictionary | addr_nsp | addr_ts_dict | addr_nsp.addr_ts_dict | t
|
||||||
|
Reference in New Issue
Block a user