aboutsummaryrefslogtreecommitdiff
path: root/src/test/modules/test_extensions/expected/test_extensions.out
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/modules/test_extensions/expected/test_extensions.out')
-rw-r--r--src/test/modules/test_extensions/expected/test_extensions.out43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/test/modules/test_extensions/expected/test_extensions.out b/src/test/modules/test_extensions/expected/test_extensions.out
index a31775a2609..254bd938be0 100644
--- a/src/test/modules/test_extensions/expected/test_extensions.out
+++ b/src/test/modules/test_extensions/expected/test_extensions.out
@@ -313,6 +313,49 @@ Objects in extension "test_ext_cine"
(9 rows)
--
+-- Test extension with objects outside the extension's schema.
+--
+CREATE SCHEMA test_func_dep1;
+CREATE SCHEMA test_func_dep2;
+CREATE SCHEMA test_func_dep3;
+CREATE EXTENSION test_ext_req_schema1 SCHEMA test_func_dep1;
+ALTER FUNCTION test_func_dep1.dep_req1() SET SCHEMA test_func_dep2;
+SELECT pg_describe_object(classid, objid, objsubid) as obj,
+ pg_describe_object(refclassid, refobjid, refobjsubid) as objref,
+ deptype
+ FROM pg_depend
+ WHERE classid = 'pg_extension'::regclass AND
+ objid = (SELECT oid FROM pg_extension WHERE extname = 'test_ext_req_schema1')
+ ORDER BY 1, 2;
+ obj | objref | deptype
+--------------------------------+-----------------------+---------
+ extension test_ext_req_schema1 | schema test_func_dep1 | n
+(1 row)
+
+-- fails, as function dep_req1 is not in the same schema as the extension.
+ALTER EXTENSION test_ext_req_schema1 SET SCHEMA test_func_dep3;
+ERROR: extension "test_ext_req_schema1" does not support SET SCHEMA
+DETAIL: function test_func_dep2.dep_req1() is not in the extension's schema "test_func_dep1"
+-- Move back the function, and the extension can be moved.
+ALTER FUNCTION test_func_dep2.dep_req1() SET SCHEMA test_func_dep1;
+ALTER EXTENSION test_ext_req_schema1 SET SCHEMA test_func_dep3;
+SELECT pg_describe_object(classid, objid, objsubid) as obj,
+ pg_describe_object(refclassid, refobjid, refobjsubid) as objref,
+ deptype
+ FROM pg_depend
+ WHERE classid = 'pg_extension'::regclass AND
+ objid = (SELECT oid FROM pg_extension WHERE extname = 'test_ext_req_schema1')
+ ORDER BY 1, 2;
+ obj | objref | deptype
+--------------------------------+-----------------------+---------
+ extension test_ext_req_schema1 | schema test_func_dep3 | n
+(1 row)
+
+DROP EXTENSION test_ext_req_schema1 CASCADE;
+DROP SCHEMA test_func_dep1;
+DROP SCHEMA test_func_dep2;
+DROP SCHEMA test_func_dep3;
+--
-- Test @extschema:extname@ syntax and no_relocate option
--
CREATE SCHEMA test_s_dep;