Adding test coverage for ALTER SEQUENCE .. SET SCHEMA

Started by Mark Dilgeralmost 6 years ago1 messages
#1Mark Dilger
mark.dilger@enterprisedb.com
1 attachment(s)

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)