mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-30 06:51:17 +02:00
In event triggers, use "pg_temp" only for our own temp schema.
pg_event_trigger_ddl_commands used "pg_temp" to refer to any temp schema, not only that of the current backend. This seems like overreach. It's somewhat unlikely that DDL commands would refer to temp objects of other sessions to begin with, but if they do, "pg_temp" would be a most misleading way to display the action. While this seems like a bug, it's not quite out of the realm of possibility that somebody out there is expecting the current behavior. Hence, fix in HEAD, but don't back-patch. Discussion: https://postgr.es/m/CAAJ_b97W=QaGmag9AhWNbmx3uEYsNkXWL+OVW1_E1D3BtgWvtw@mail.gmail.com
This commit is contained in:
parent
48c5c90682
commit
024515cac5
@ -1982,11 +1982,7 @@ pg_event_trigger_ddl_commands(PG_FUNCTION_ARGS)
|
|||||||
elog(ERROR,
|
elog(ERROR,
|
||||||
"invalid null namespace in object %u/%u/%d",
|
"invalid null namespace in object %u/%u/%d",
|
||||||
addr.classId, addr.objectId, addr.objectSubId);
|
addr.classId, addr.objectId, addr.objectSubId);
|
||||||
/* XXX not quite get_namespace_name_or_temp */
|
schema = get_namespace_name_or_temp(schema_oid);
|
||||||
if (isAnyTempNamespace(schema_oid))
|
|
||||||
schema = pstrdup("pg_temp");
|
|
||||||
else
|
|
||||||
schema = get_namespace_name(schema_oid);
|
|
||||||
|
|
||||||
table_close(catalog, AccessShareLock);
|
table_close(catalog, AccessShareLock);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user