Adding test coverage for ALTER SEQUENCE .. SET SCHEMA
Started by Mark Dilgeralmost 6 years ago1 messages
Hackers,
This is pretty low priority stuff, but I noticed there is no test coverage for this in src/test/regress. There is underwhelming coverage elsewhere. I leave it to others to decide if this is worth committing.
Attachments:
v1-0001-Adding-test-coverage-for-ALTER-SEQUENCE-SET-SCHEM.patchapplication/octet-stream; name=v1-0001-Adding-test-coverage-for-ALTER-SEQUENCE-SET-SCHEM.patch; x-unix-mode=0644Download
From e252ff1aa1d87101bf2b0904ec0b373abf609fc3 Mon Sep 17 00:00:00 2001
From: Mark Dilger <mark.dilger@enterprisedb.com>
Date: Mon, 16 Mar 2020 13:16:50 -0700
Subject: [PATCH v1] Adding test coverage for ALTER SEQUENCE SET SCHEMA
There was no test coverage for ALTER SCHEMA .. SET SCHEMA in the
core src/test/regress regression test suite. Granted, there is
some use of that form in src/test/modules/test_ddl_deparse and
contrib/sepgsql.
---
src/test/regress/expected/sequence.out | 24 ++++++++++++++++++++++++
src/test/regress/sql/sequence.sql | 13 +++++++++++++
2 files changed, 37 insertions(+)
diff --git a/src/test/regress/expected/sequence.out b/src/test/regress/expected/sequence.out
index 8b928b2888..1d5beb78ba 100644
--- a/src/test/regress/expected/sequence.out
+++ b/src/test/regress/expected/sequence.out
@@ -16,6 +16,30 @@ CREATE SEQUENCE sequence_testx INCREMENT BY 1 START -10;
ERROR: START value (-10) cannot be less than MINVALUE (1)
CREATE SEQUENCE sequence_testx CACHE 0;
ERROR: CACHE (0) must be greater than zero
+-- SCHEMA changes
+CREATE SCHEMA old_sequence_schema;
+CREATE SCHEMA new_sequence_schema;
+CREATE SEQUENCE old_sequence_schema.sequence_testx;
+ALTER SEQUENCE old_sequence_schema.sequence_testx SET SCHEMA new_sequence_schema;
+SELECT nextval('new_sequence_schema.sequence_testx');
+ nextval
+---------
+ 1
+(1 row)
+
+CREATE SEQUENCE old_sequence_schema.sequence_testx;
+DROP SCHEMA new_sequence_schema CASCADE;
+NOTICE: drop cascades to sequence new_sequence_schema.sequence_testx
+SELECT nextval('new_sequence_schema.sequence_testx');
+ERROR: schema "new_sequence_schema" does not exist
+LINE 1: SELECT nextval('new_sequence_schema.sequence_testx');
+ ^
+DROP SEQUENCE old_sequence_schema.sequence_testx;
+SELECT nextval('old_sequence_schema.sequence_testx');
+ERROR: relation "old_sequence_schema.sequence_testx" does not exist
+LINE 1: SELECT nextval('old_sequence_schema.sequence_testx');
+ ^
+DROP SCHEMA old_sequence_schema;
-- OWNED BY errors
CREATE SEQUENCE sequence_testx OWNED BY nobody; -- nonsense word
ERROR: invalid OWNED BY option
diff --git a/src/test/regress/sql/sequence.sql b/src/test/regress/sql/sequence.sql
index 7928ee23ee..03efbe5531 100644
--- a/src/test/regress/sql/sequence.sql
+++ b/src/test/regress/sql/sequence.sql
@@ -11,6 +11,19 @@ CREATE SEQUENCE sequence_testx INCREMENT BY -1 START 10;
CREATE SEQUENCE sequence_testx INCREMENT BY 1 START -10;
CREATE SEQUENCE sequence_testx CACHE 0;
+-- SCHEMA changes
+CREATE SCHEMA old_sequence_schema;
+CREATE SCHEMA new_sequence_schema;
+CREATE SEQUENCE old_sequence_schema.sequence_testx;
+ALTER SEQUENCE old_sequence_schema.sequence_testx SET SCHEMA new_sequence_schema;
+SELECT nextval('new_sequence_schema.sequence_testx');
+CREATE SEQUENCE old_sequence_schema.sequence_testx;
+DROP SCHEMA new_sequence_schema CASCADE;
+SELECT nextval('new_sequence_schema.sequence_testx');
+DROP SEQUENCE old_sequence_schema.sequence_testx;
+SELECT nextval('old_sequence_schema.sequence_testx');
+DROP SCHEMA old_sequence_schema;
+
-- OWNED BY errors
CREATE SEQUENCE sequence_testx OWNED BY nobody; -- nonsense word
CREATE SEQUENCE sequence_testx OWNED BY pg_class_oid_index.oid; -- not a table
--
2.21.1 (Apple Git-122.3)