diff options
Diffstat (limited to 'src/test/modules/test_extensions/expected/test_extensions.out')
-rw-r--r-- | src/test/modules/test_extensions/expected/test_extensions.out | 43 |
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; |