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,