aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/extension.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/extension.c')
-rw-r--r--src/backend/commands/extension.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c
index 4f9ea2d12bc..29fcdd1b55d 100644
--- a/src/backend/commands/extension.c
+++ b/src/backend/commands/extension.c
@@ -2201,6 +2201,7 @@ AlterExtensionNamespace(List *names, const char *newschema)
Relation depRel;
SysScanDesc depScan;
HeapTuple depTup;
+ ObjectAddresses *objsMoved;
if (list_length(names) != 1)
ereport(ERROR,
@@ -2275,6 +2276,8 @@ AlterExtensionNamespace(List *names, const char *newschema)
errmsg("extension \"%s\" does not support SET SCHEMA",
NameStr(extForm->extname))));
+ objsMoved = new_object_addresses();
+
/*
* Scan pg_depend to find objects that depend directly on the extension,
* and alter each one's schema.
@@ -2314,9 +2317,11 @@ AlterExtensionNamespace(List *names, const char *newschema)
if (dep.objectSubId != 0) /* should not happen */
elog(ERROR, "extension should not have a sub-object dependency");
+ /* Relocate the object */
dep_oldNspOid = AlterObjectNamespace_oid(dep.classId,
dep.objectId,
- nspOid);
+ nspOid,
+ objsMoved);
/*
* Remember previous namespace of first object that has one