public inbox for [email protected]  
help / color / mirror / Atom feed
From: 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