public inbox for [email protected]
help / color / mirror / Atom feedFrom: Aditya Toshniwal <[email protected]>
To: Dave Page <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: [pgAdmin][RM4469] Add RE-SQL test cases for Sequences
Date: Thu, 29 Aug 2019 12:28:46 +0530
Message-ID: <CAM9w-_nVWi1ngsT+U0VD0=XVnhGm7QwSu6cVahCSs_6XVaCbSw@mail.gmail.com> (raw)
In-Reply-To: <CAM9w-_mC3Kzr4nHx-xuz3pjbba2J0U7j1nnXA4yEXEEdW_Yadw@mail.gmail.com>
References: <CAM9w-_kd2NkXxvRojtyTwtxTR=a_oAS6i1LO1Jgs15zVmYK3fQ@mail.gmail.com>
<CA+OCxoymKPQPH-rcvw0R3xpdtk+MwKhB18g=QMCqPat78E0uUA@mail.gmail.com>
<CAM9w-_nixiUdOheqo4HQyxLXL511B+40KEpVkJ11ssMNzg2J6g@mail.gmail.com>
<CAM9w-_mC3Kzr4nHx-xuz3pjbba2J0U7j1nnXA4yEXEEdW_Yadw@mail.gmail.com>
Hi Hackers,
Attached is the updated patch.
The patch also includes some RE-SQL log additions and a change in resql
code where msql was failing if scenario data had dict data types. Code is
changed to convert dict to string before forming the URL.
Kindly review.
On Thu, Aug 29, 2019 at 11:28 AM Aditya Toshniwal <
[email protected]> wrote:
> Hi Hackers,
>
> Kindly hold on with the patch. I think I have missed few things. :P
> Will send an updated patch.
>
> On Wed, Aug 28, 2019 at 6:08 PM Aditya Toshniwal <
> [email protected]> wrote:
>
>> Hi Hackers,
>>
>> Attached is the patch containing further changes to sequences RE-SQL test
>> cases. Changes include MSQL test cases, ACL test cases and allow run
>> sequences test cases on EPAS servers.
>>
>> Kindly review.
>>
>> On Mon, Jul 15, 2019 at 7:26 PM Dave Page <[email protected]> wrote:
>>
>>> Thanks, committed.
>>>
>>> On Mon, Jul 15, 2019 at 12:06 PM Aditya Toshniwal <
>>> [email protected]> wrote:
>>>
>>>> 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"
>>>>
>>>
>>>
>>> --
>>> Dave Page
>>> Blog: http://pgsnake.blogspot.com
>>> Twitter: @pgsnake
>>>
>>> EnterpriseDB UK: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>
>>
>> --
>> Thanks and Regards,
>> Aditya Toshniwal
>> Software Engineer | EnterpriseDB India | Pune
>> "Don't Complain about Heat, Plant a TREE"
>>
>
>
> --
> Thanks and Regards,
> Aditya Toshniwal
> Software Engineer | EnterpriseDB India | Pune
> "Don't Complain about Heat, Plant a TREE"
>
--
Thanks and Regards,
Aditya Toshniwal
Software Engineer | EnterpriseDB India | Pune
"Don't Complain about Heat, Plant a TREE"
Attachments:
[application/octet-stream] RM4469.part2_v2.patch (30.4K, 3-RM4469.part2_v2.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/default/update.sql
index cf594891..dff5700b 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/default/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequences/sql/default/update.sql
@@ -35,7 +35,7 @@ SELECT setval({{ seqname|qtLiteral }}, {{ data.current_value }}, true);
{% set defquery = defquery+'\n NO CYCLE' %}
{% endif %}
{% if defquery and defquery != '' %}
-ALTER SEQUENCE {{ conn|qtIdent(o_data.schema, data.name) }} {{ defquery }};
+ALTER SEQUENCE {{ conn|qtIdent(o_data.schema, data.name) }}{{ defquery }};
{% endif %}
{% if data.schema and data.schema != o_data.schema %}
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
deleted file mode 100644
index 6a56038a..00000000
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/test.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "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_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_comment_msql.sql
new file mode 100644
index 00000000..7a5efbd9
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_comment_msql.sql
@@ -0,0 +1,2 @@
+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_privs_add.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_add.sql
new file mode 100644
index 00000000..970cd93d
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_add.sql
@@ -0,0 +1,21 @@
+-- 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';
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO postgres;
+
+GRANT SELECT, USAGE ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_add_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_add_msql.sql
new file mode 100644
index 00000000..3b79157b
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_add_msql.sql
@@ -0,0 +1 @@
+GRANT SELECT, USAGE ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_remove.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_remove.sql
new file mode 100644
index 00000000..71da83b5
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_remove.sql
@@ -0,0 +1,19 @@
+-- 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';
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO postgres;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_remove_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_remove_msql.sql
new file mode 100644
index 00000000..e8b94bad
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_remove_msql.sql
@@ -0,0 +1 @@
+REVOKE ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" FROM PUBLIC;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_update.sql
new file mode 100644
index 00000000..2739b961
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_update.sql
@@ -0,0 +1,21 @@
+-- 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';
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO postgres;
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_update_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_update_msql.sql
new file mode 100644
index 00000000..fe2201a1
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_privs_update_msql.sql
@@ -0,0 +1,2 @@
+REVOKE ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" FROM PUBLIC;
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_props_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_props_msql.sql
new file mode 100644
index 00000000..3ed0c8c1
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/alter_seq_props_msql.sql
@@ -0,0 +1,8 @@
+SELECT setval('public."Seq1_$%{}[]()&*^!@""''`\/#"', 7, true);
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ INCREMENT 12
+ MINVALUE 2
+ MAXVALUE 9992
+ CACHE 2
+ CYCLE;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/create_sequence_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/create_sequence_msql.sql
new file mode 100644
index 00000000..67e09cd6
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/create_sequence_msql.sql
@@ -0,0 +1,9 @@
+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
deleted file mode 100644
index 6a56038a..00000000
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/test.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "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/test_sequences_pg.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/test_sequences_pg.json
new file mode 100644
index 00000000..951b4638
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/default/test_sequences_pg.json
@@ -0,0 +1,138 @@
+{
+ "scenarios": [
+ {
+ "type": "create",
+ "name": "Create Sequence",
+ "endpoint": "NODE-sequence.obj",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql",
+ "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",
+ "expected_msql_file": "create_sequence_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence comment",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "comment": "Some comment"
+ },
+ "expected_sql_file": "alter_seq_comment.sql",
+ "expected_msql_file": "alter_seq_comment_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence properties",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "current_value": "7", "increment": "12", "minimum": "2", "maximum": "9992", "cache": "2", "cycled": true
+ },
+ "expected_sql_file": "alter_seq_props.sql",
+ "expected_msql_file": "alter_seq_props_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence add privileges",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "relacl": {
+ "added":[{
+ "grantee": "PUBLIC",
+ "grantor": "postgres",
+ "privileges":[{
+ "privilege_type": "r",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "U",
+ "privilege": true,
+ "with_grant": false
+ }]
+ }]
+ }
+ },
+ "expected_sql_file": "alter_seq_privs_add.sql",
+ "expected_msql_file": "alter_seq_privs_add_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence update privileges",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "relacl": {
+ "changed":[{
+ "grantee": "PUBLIC",
+ "grantor": "postgres",
+ "privileges":[{
+ "privilege_type": "r",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "U",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "w",
+ "privilege": true,
+ "with_grant": false
+ }]
+ }]
+ }
+ },
+ "expected_sql_file": "alter_seq_privs_update.sql",
+ "expected_msql_file": "alter_seq_privs_update_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence remove privileges",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "relacl": {
+ "deleted":[{
+ "grantee": "PUBLIC",
+ "grantor": "postgres",
+ "privileges":[{
+ "privilege_type": "r",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "U",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "w",
+ "privilege": true,
+ "with_grant": false
+ }]
+ }]
+ }
+ },
+ "expected_sql_file": "alter_seq_privs_remove.sql",
+ "expected_msql_file": "alter_seq_privs_remove_msql.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/10_plus/alter_seq_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_comment.sql
similarity index 92%
rename from web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_comment.sql
rename to web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_comment.sql
index abb62082..536a4b90 100644
--- 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/ppas/default/alter_seq_comment.sql
@@ -10,7 +10,7 @@ CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
CACHE 1;
ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
- OWNER TO postgres;
+ OWNER TO enterprisedb;
COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
IS 'Some comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_comment_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_comment_msql.sql
new file mode 100644
index 00000000..7a5efbd9
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_comment_msql.sql
@@ -0,0 +1,2 @@
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_add.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_add.sql
new file mode 100644
index 00000000..04833fe0
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_add.sql
@@ -0,0 +1,21 @@
+-- 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 enterprisedb;
+
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
+
+GRANT SELECT, USAGE ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO enterprisedb;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_add_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_add_msql.sql
new file mode 100644
index 00000000..3b79157b
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_add_msql.sql
@@ -0,0 +1 @@
+GRANT SELECT, USAGE ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_remove.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_remove.sql
new file mode 100644
index 00000000..c9794c03
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_remove.sql
@@ -0,0 +1,19 @@
+-- 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 enterprisedb;
+
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO enterprisedb;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_remove_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_remove_msql.sql
new file mode 100644
index 00000000..e8b94bad
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_remove_msql.sql
@@ -0,0 +1 @@
+REVOKE ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" FROM PUBLIC;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_update.sql
new file mode 100644
index 00000000..7a46a355
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_update.sql
@@ -0,0 +1,21 @@
+-- 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 enterprisedb;
+
+COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ IS 'Some comment';
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
+
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO enterprisedb;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_update_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_update_msql.sql
new file mode 100644
index 00000000..fe2201a1
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_privs_update_msql.sql
@@ -0,0 +1,2 @@
+REVOKE ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" FROM PUBLIC;
+GRANT ALL ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
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/ppas/default/alter_seq_props.sql
similarity index 93%
rename from web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/alter_seq_props.sql
rename to web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_props.sql
index 9b29c67d..3c5f254a 100644
--- 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/ppas/default/alter_seq_props.sql
@@ -11,7 +11,7 @@ CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
CACHE 2;
ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
- OWNER TO postgres;
+ OWNER TO enterprisedb;
COMMENT ON SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
IS 'Some comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_props_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_props_msql.sql
new file mode 100644
index 00000000..3ed0c8c1
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/alter_seq_props_msql.sql
@@ -0,0 +1,8 @@
+SELECT setval('public."Seq1_$%{}[]()&*^!@""''`\/#"', 7, true);
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ INCREMENT 12
+ MINVALUE 2
+ MAXVALUE 9992
+ CACHE 2
+ CYCLE;
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/ppas/default/create_sequence.sql
similarity index 91%
rename from web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/pg/10_plus/create_sequence.sql
rename to web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/create_sequence.sql
index 6d79f516..25aa799a 100644
--- 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/ppas/default/create_sequence.sql
@@ -10,4 +10,4 @@ CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
CACHE 1;
ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
- OWNER TO postgres;
+ OWNER TO enterprisedb;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/create_sequence_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/create_sequence_msql.sql
new file mode 100644
index 00000000..f926dbec
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/create_sequence_msql.sql
@@ -0,0 +1,9 @@
+CREATE SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ INCREMENT 5
+ START 5
+ MINVALUE 5
+ MAXVALUE 999
+ CACHE 1;
+
+ALTER SEQUENCE public."Seq1_$%{}[]()&*^!@""'`\/#"
+ OWNER TO enterprisedb;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/test_sequences_ppas.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/test_sequences_ppas.json
new file mode 100644
index 00000000..4da6f886
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/tests/ppas/default/test_sequences_ppas.json
@@ -0,0 +1,138 @@
+{
+ "scenarios": [
+ {
+ "type": "create",
+ "name": "Create Sequence",
+ "endpoint": "NODE-sequence.obj",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql",
+ "data": {
+ "name": "Seq1_$%{}[]()&*^!@\"'`\\/#",
+ "seqowner": "enterprisedb",
+ "schema": "public",
+ "increment": "5",
+ "start": "5",
+ "maximum": "999",
+ "minimum": "5",
+ "cache": "1",
+ "cycled": false,
+ "relacl": [],
+ "securities": []
+ },
+ "expected_sql_file": "create_sequence.sql",
+ "expected_msql_file": "create_sequence_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence comment",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "comment": "Some comment"
+ },
+ "expected_sql_file": "alter_seq_comment.sql",
+ "expected_msql_file": "alter_seq_comment_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence properties",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "current_value": "7", "increment": "12", "minimum": "2", "maximum": "9992", "cache": "2", "cycled": true
+ },
+ "expected_sql_file": "alter_seq_props.sql",
+ "expected_msql_file": "alter_seq_props_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence add privileges",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "relacl": {
+ "added":[{
+ "grantee": "PUBLIC",
+ "grantor": "enterprisedb",
+ "privileges":[{
+ "privilege_type": "r",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "U",
+ "privilege": true,
+ "with_grant": false
+ }]
+ }]
+ }
+ },
+ "expected_sql_file": "alter_seq_privs_add.sql",
+ "expected_msql_file": "alter_seq_privs_add_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence update privileges",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "relacl": {
+ "changed":[{
+ "grantee": "PUBLIC",
+ "grantor": "enterprisedb",
+ "privileges":[{
+ "privilege_type": "r",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "U",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "w",
+ "privilege": true,
+ "with_grant": false
+ }]
+ }]
+ }
+ },
+ "expected_sql_file": "alter_seq_privs_update.sql",
+ "expected_msql_file": "alter_seq_privs_update_msql.sql"
+ },{
+ "type": "alter",
+ "name": "Alter Sequence remove privileges",
+ "endpoint": "NODE-sequence.obj_id",
+ "sql_endpoint": "NODE-sequence.sql_id",
+ "msql_endpoint": "NODE-sequence.msql_id",
+ "data": {
+ "relacl": {
+ "deleted":[{
+ "grantee": "PUBLIC",
+ "grantor": "enterprisedb",
+ "privileges":[{
+ "privilege_type": "r",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "U",
+ "privilege": true,
+ "with_grant": false
+ },{
+ "privilege_type": "w",
+ "privilege": true,
+ "with_grant": false
+ }]
+ }]
+ }
+ },
+ "expected_sql_file": "alter_seq_privs_remove.sql",
+ "expected_msql_file": "alter_seq_privs_remove_msql.sql"
+ },{
+ "type": "delete",
+ "name": "Drop sequence",
+ "endpoint": "NODE-sequence.delete_id",
+ "data": {
+ "name": "Seq1_$%{}[]()&*^!@\"'`\\/#"
+ }
+ }
+ ]
+}
diff --git a/web/regression/re_sql/tests/test_resql.py b/web/regression/re_sql/tests/test_resql.py
index ef8692ad..b9e412b6 100644
--- a/web/regression/re_sql/tests/test_resql.py
+++ b/web/regression/re_sql/tests/test_resql.py
@@ -210,6 +210,8 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator):
print_msg = print_msg + "... FAIL"
print(print_msg)
continue
+ else:
+ print(scenario['name'] + " #MSQL ... ok")
if 'type' in scenario and scenario['type'] == 'create':
# Get the url and create the specific node.
@@ -329,7 +331,13 @@ class ReverseEngineeredSQLTestCases(BaseTestGenerator):
msql_url = self.get_url(scenario['msql_endpoint'],
object_id)
- params = urllib.parse.urlencode(scenario['data'])
+ # As msql data is passed as URL params, dict types data has to be
+ # converted to string using json.dumps before passing it to urlencode
+ msql_data = {
+ key: json.dumps(val) if isinstance(val, dict) else val
+ for key, val in scenario['data'].items()}
+
+ params = urllib.parse.urlencode(msql_data)
params = params.replace('False', 'false').replace('True', 'true')
url = msql_url + "?%s" % params
response = self.tester.get(url,
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], [email protected]
Subject: Re: [pgAdmin][RM4469] Add RE-SQL test cases for Sequences
In-Reply-To: <CAM9w-_nVWi1ngsT+U0VD0=XVnhGm7QwSu6cVahCSs_6XVaCbSw@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