diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/regress/expected/namespace.out | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/src/test/regress/expected/namespace.out b/src/test/regress/expected/namespace.out new file mode 100644 index 0000000..a62fd8d --- /dev/null +++ b/src/test/regress/expected/namespace.out @@ -0,0 +1,116 @@ +-- +-- Regression tests for schemas (namespaces) +-- +-- set the whitespace-only search_path to test that the +-- GUC list syntax is preserved during a schema creation +SELECT pg_catalog.set_config('search_path', ' ', false); + set_config +------------ + +(1 row) + +CREATE SCHEMA test_ns_schema_1 + CREATE UNIQUE INDEX abc_a_idx ON abc (a) + CREATE VIEW abc_view AS + SELECT a+1 AS a, b+1 AS b FROM abc + CREATE TABLE abc ( + a serial, + b int UNIQUE + ); +-- verify that the correct search_path restored on abort +SET search_path to public; +BEGIN; +SET search_path to public, test_ns_schema_1; +CREATE SCHEMA test_ns_schema_2 + CREATE VIEW abc_view AS SELECT c FROM abc; +ERROR: column "c" does not exist +LINE 2: CREATE VIEW abc_view AS SELECT c FROM abc; + ^ +COMMIT; +SHOW search_path; + search_path +------------- + public +(1 row) + +-- verify that the correct search_path preserved +-- after creating the schema and on commit +BEGIN; +SET search_path to public, test_ns_schema_1; +CREATE SCHEMA test_ns_schema_2 + CREATE VIEW abc_view AS SELECT a FROM abc; +SHOW search_path; + search_path +-------------------------- + public, test_ns_schema_1 +(1 row) + +COMMIT; +SHOW search_path; + search_path +-------------------------- + public, test_ns_schema_1 +(1 row) + +DROP SCHEMA test_ns_schema_2 CASCADE; +NOTICE: drop cascades to view test_ns_schema_2.abc_view +-- verify that the objects were created +SELECT COUNT(*) FROM pg_class WHERE relnamespace = + (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_1'); + count +------- + 5 +(1 row) + +INSERT INTO test_ns_schema_1.abc DEFAULT VALUES; +INSERT INTO test_ns_schema_1.abc DEFAULT VALUES; +INSERT INTO test_ns_schema_1.abc DEFAULT VALUES; +SELECT * FROM test_ns_schema_1.abc; + a | b +---+--- + 1 | + 2 | + 3 | +(3 rows) + +SELECT * FROM test_ns_schema_1.abc_view; + a | b +---+--- + 2 | + 3 | + 4 | +(3 rows) + +ALTER SCHEMA test_ns_schema_1 RENAME TO test_ns_schema_renamed; +SELECT COUNT(*) FROM pg_class WHERE relnamespace = + (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_1'); + count +------- + 0 +(1 row) + +-- test IF NOT EXISTS cases +CREATE SCHEMA test_ns_schema_renamed; -- fail, already exists +ERROR: schema "test_ns_schema_renamed" already exists +CREATE SCHEMA IF NOT EXISTS test_ns_schema_renamed; -- ok with notice +NOTICE: schema "test_ns_schema_renamed" already exists, skipping +CREATE SCHEMA IF NOT EXISTS test_ns_schema_renamed -- fail, disallowed + CREATE TABLE abc ( + a serial, + b int UNIQUE + ); +ERROR: CREATE SCHEMA IF NOT EXISTS cannot include schema elements +LINE 2: CREATE TABLE abc ( + ^ +DROP SCHEMA test_ns_schema_renamed CASCADE; +NOTICE: drop cascades to 2 other objects +DETAIL: drop cascades to table test_ns_schema_renamed.abc +drop cascades to view test_ns_schema_renamed.abc_view +-- verify that the objects were dropped +SELECT COUNT(*) FROM pg_class WHERE relnamespace = + (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_renamed'); + count +------- + 0 +(1 row) + |