public inbox for [email protected]
help / color / mirror / Atom feedFrom: Aditya Toshniwal <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: [pgAdmin][RM4469] Add RE-SQL test cases for Sequences
Date: Mon, 15 Jul 2019 16:36:15 +0530
Message-ID: <CAM9w-_kd2NkXxvRojtyTwtxTR=a_oAS6i1LO1Jgs15zVmYK3fQ@mail.gmail.com> (raw)
Hi Hackers,
Attached is the patch to add RE-SQL test cases for sequences. When running
the test cases, I also found an issue (#4470
<https://redmine.postgresql.org/issues/4470;). The fix for it is included
in the patch.
Kindly review.
--
Thanks and Regards,
Aditya Toshniwal
Software Engineer | EnterpriseDB India | Pune
"Don't Complain about Heat, Plant a TREE"
Attachments:
[application/octet-stream] RM4469_4470.patch (8.9K, 3-RM4469_4470.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/10_plus/get_def.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/10_plus/get_def.sql
index 9ecb461d..91ca135d 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/10_plus/get_def.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/10_plus/get_def.sql
@@ -8,4 +8,4 @@ SELECT
seqincrement AS increment_by,
is_called
FROM pg_sequence, {{ conn|qtIdent(data.schema) }}.{{ conn|qtIdent(data.name) }}
-WHERE seqrelid = '{{ conn|qtIdent(data.schema) }}.{{ conn|qtIdent(data.name) }}'::regclass
+WHERE seqrelid = {{data.oid}}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_comment.sql
new file mode 100644
index 00000000..abb62082
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_comment.sql
@@ -0,0 +1,16 @@
+-- SEQUENCE: public."Seq1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#";
+
+CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ INCREMENT 5
+ START 5
+ MINVALUE 5
+ MAXVALUE 999
+ CACHE 1;
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ OWNER TO postgres;
+
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_props.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_props.sql
new file mode 100644
index 00000000..9b29c67d
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_props.sql
@@ -0,0 +1,17 @@
+-- SEQUENCE: public."Seq1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#";
+
+CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ CYCLE
+ INCREMENT 12
+ START 7
+ MINVALUE 2
+ MAXVALUE 9992
+ CACHE 2;
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ OWNER TO postgres;
+
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/create_sequence.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/create_sequence.sql
new file mode 100644
index 00000000..6d79f516
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/create_sequence.sql
@@ -0,0 +1,13 @@
+-- SEQUENCE: public."Seq1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#";
+
+CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ INCREMENT 5
+ START 5
+ MINVALUE 5
+ MAXVALUE 999
+ CACHE 1;
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ OWNER TO postgres;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/test.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/test.json
new file mode 100644
index 00000000..6a56038a
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/test.json
@@ -0,0 +1,49 @@
+{
+ "scenarios": [
+ {
+ "type": "create",
+ "name": "Create Sequence",
+ "endpoint": "NODE-sequence.obj",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "data": {
+ "name": "Seq1_$%{}[]()&*^!@\"'`\\/#",
+ "seqowner": "postgres",
+ "schema": "public",
+ "increment": "5",
+ "start": "5",
+ "maximum": "999",
+ "minimum": "5",
+ "cache": "1",
+ "cycled": false,
+ "relacl": [],
+ "securities": []
+ },
+ "expected_sql_file": "create_sequence.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence comment",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "data": {
+ "comment": "Some comment"
+ },
+ "expected_sql_file": "alter_seq_comment.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence properties",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "data": {
+ "current_value": "7", "increment": "12", "minimum": "2", "maximum": "9992", "cache": "2", "cycled": true
+ },
+ "expected_sql_file": "alter_seq_props.sql"
+ },{
+ "type": "delete",
+ "name": "Drop sequence",
+ "endpoint": "NODE-sequence.delete_id",
+ "data": {
+ "name": "Seq1_$%{}[]()&*^!@\"'`\\/#"
+ }
+ }
+ ]
+}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_comment.sql
new file mode 100644
index 00000000..abb62082
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_comment.sql
@@ -0,0 +1,16 @@
+-- SEQUENCE: public."Seq1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#";
+
+CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ INCREMENT 5
+ START 5
+ MINVALUE 5
+ MAXVALUE 999
+ CACHE 1;
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ OWNER TO postgres;
+
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_props.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_props.sql
new file mode 100644
index 00000000..9b29c67d
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_props.sql
@@ -0,0 +1,17 @@
+-- SEQUENCE: public."Seq1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#";
+
+CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ CYCLE
+ INCREMENT 12
+ START 7
+ MINVALUE 2
+ MAXVALUE 9992
+ CACHE 2;
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ OWNER TO postgres;
+
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/create_sequence.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/create_sequence.sql
new file mode 100644
index 00000000..6d79f516
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/create_sequence.sql
@@ -0,0 +1,13 @@
+-- SEQUENCE: public."Seq1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#";
+
+CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ INCREMENT 5
+ START 5
+ MINVALUE 5
+ MAXVALUE 999
+ CACHE 1;
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ OWNER TO postgres;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/test.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/test.json
new file mode 100644
index 00000000..6a56038a
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/test.json
@@ -0,0 +1,49 @@
+{
+ "scenarios": [
+ {
+ "type": "create",
+ "name": "Create Sequence",
+ "endpoint": "NODE-sequence.obj",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "data": {
+ "name": "Seq1_$%{}[]()&*^!@\"'`\\/#",
+ "seqowner": "postgres",
+ "schema": "public",
+ "increment": "5",
+ "start": "5",
+ "maximum": "999",
+ "minimum": "5",
+ "cache": "1",
+ "cycled": false,
+ "relacl": [],
+ "securities": []
+ },
+ "expected_sql_file": "create_sequence.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence comment",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "data": {
+ "comment": "Some comment"
+ },
+ "expected_sql_file": "alter_seq_comment.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence properties",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "data": {
+ "current_value": "7", "increment": "12", "minimum": "2", "maximum": "9992", "cache": "2", "cycled": true
+ },
+ "expected_sql_file": "alter_seq_props.sql"
+ },{
+ "type": "delete",
+ "name": "Drop sequence",
+ "endpoint": "NODE-sequence.delete_id",
+ "data": {
+ "name": "Seq1_$%{}[]()&*^!@\"'`\\/#"
+ }
+ }
+ ]
+}
view thread (6+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: [pgAdmin][RM4469] Add RE-SQL test cases for Sequences
In-Reply-To: <CAM9w-_kd2NkXxvRojtyTwtxTR=a_oAS6i1LO1Jgs15zVmYK3fQ@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox