summaryrefslogtreecommitdiffstats
path: root/src/test/regress/sql/namespace.sql
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/regress/sql/namespace.sql')
-rw-r--r--src/test/regress/sql/namespace.sql44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/regress/sql/namespace.sql b/src/test/regress/sql/namespace.sql
new file mode 100644
index 0000000..6b12c96
--- /dev/null
+++ b/src/test/regress/sql/namespace.sql
@@ -0,0 +1,44 @@
+--
+-- Regression tests for schemas (namespaces)
+--
+
+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 objects were created
+SELECT COUNT(*) FROM pg_class WHERE relnamespace =
+ (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_1');
+
+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;
+SELECT * FROM test_ns_schema_1.abc_view;
+
+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');
+
+-- test IF NOT EXISTS cases
+CREATE SCHEMA test_ns_schema_renamed; -- fail, already exists
+CREATE SCHEMA IF NOT EXISTS test_ns_schema_renamed; -- ok with notice
+CREATE SCHEMA IF NOT EXISTS test_ns_schema_renamed -- fail, disallowed
+ CREATE TABLE abc (
+ a serial,
+ b int UNIQUE
+ );
+
+DROP SCHEMA test_ns_schema_renamed CASCADE;
+
+-- verify that the objects were dropped
+SELECT COUNT(*) FROM pg_class WHERE relnamespace =
+ (SELECT oid FROM pg_namespace WHERE nspname = 'test_ns_schema_renamed');