public inbox for [email protected]
help / color / mirror / Atom feedFrom: Neel Patel <[email protected]>
To: Dave Page <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: RM 4463 - RESQL test cases for domain node
Date: Wed, 21 Aug 2019 12:45:16 +0530
Message-ID: <CACCA4P3Enjd+gubO8gWGn-sKfrVotz29gU5w_DZqPVMAPt7Bag@mail.gmail.com> (raw)
In-Reply-To: <CA+OCxoxX7K+F++vF6X3K3JP7+NVeEXOR+LSK0FV0hbfwRPyofA@mail.gmail.com>
References: <CACCA4P3XMhijv57k0xmfNWCRh65O5Qdq+gtgpOZ3-_Ma2jTzqw@mail.gmail.com>
<CA+OCxoxX7K+F++vF6X3K3JP7+NVeEXOR+LSK0FV0hbfwRPyofA@mail.gmail.com>
Hi,
Please find attached patch that will add more resql test cases for domain
node.
- Covered test cases for Length, Precision and Collation.
- Also added msql test cases.
While writing resql test cases for domain node, I found one more issue
RM-4644 <https://redmine.postgresql.org/issues/4644;. I am sending separate
patch for the same.
Thanks,
Neel Patel
On Fri, Jul 12, 2019 at 7:10 PM Dave Page <[email protected]> wrote:
> Thanks, applied.
>
> On Fri, Jul 12, 2019 at 12:31 PM Neel Patel <[email protected]>
> wrote:
>
>> Hi,
>>
>> Please find attached patch for reverse engineering test cases for domain
>> node ( RM #4463 )
>> Do review it and let me know for comments.
>>
>> Thanks,
>> Neel Patel
>>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
Attachments:
[application/octet-stream] RM_4463_v2.patch (12.2K, 3-RM_4463_v2.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_comment.sql
index 27648cd9a..cd6ea854f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_comment.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_comment.sql
@@ -3,7 +3,8 @@
-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
- AS bigint
+ AS text
+ COLLATE pg_catalog."C"
DEFAULT 5
NOT NULL;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_default_expression.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_default_expression.sql
index 7d9ca3560..a9aaff120 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_default_expression.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_default_expression.sql
@@ -3,7 +3,8 @@
-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
- AS bigint
+ AS text
+ COLLATE pg_catalog."C"
DEFAULT 3;
ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_name.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_name.sql
index 5b546dcf7..f5e10114e 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_name.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_name.sql
@@ -3,7 +3,8 @@
-- DROP DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#";
CREATE DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#"
- AS bigint
+ AS text
+ COLLATE pg_catalog."C"
DEFAULT 3;
ALTER DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_null_type.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_null_type.sql
index 1e0747a52..6066156b5 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_null_type.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_null_type.sql
@@ -3,7 +3,8 @@
-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
- AS bigint
+ AS text
+ COLLATE pg_catalog."C"
DEFAULT 5;
ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain.sql
index 0d3933521..28aab4512 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain.sql
@@ -3,7 +3,8 @@
-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
- AS bigint
+ AS text
+ COLLATE pg_catalog."C"
DEFAULT 5
NOT NULL;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain_numeric.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain_numeric.sql
new file mode 100644
index 000000000..4c2d1243f
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain_numeric.sql
@@ -0,0 +1,16 @@
+-- DOMAIN: public."Dom1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
+
+CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ AS numeric(5,2)
+ DEFAULT 3
+ NOT NULL;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ IS 'test_comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_comment.sql
new file mode 100644
index 000000000..8a4fb8644
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_comment.sql
@@ -0,0 +1,2 @@
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ IS 'test updated domain comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_default_expression.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_default_expression.sql
new file mode 100644
index 000000000..4321f7b56
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_default_expression.sql
@@ -0,0 +1,2 @@
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ SET DEFAULT 3;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_name.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_name.sql
new file mode 100644
index 000000000..51a634176
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_name.sql
@@ -0,0 +1,2 @@
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ RENAME TO "Dom2_$%{}[]()&*^!@""'`\/#";
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_null_type.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_null_type.sql
new file mode 100644
index 000000000..190e94b47
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_alter_domain_null_type.sql
@@ -0,0 +1,2 @@
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ DROP NOT NULL;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_create_domain.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_create_domain.sql
new file mode 100644
index 000000000..d468f47f8
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_create_domain.sql
@@ -0,0 +1,13 @@
+CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ AS text
+ COLLATE pg_catalog."C"
+ DEFAULT 5
+ NOT NULL;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO postgres;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ IS 'test_comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_create_domain_numeric.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_create_domain_numeric.sql
new file mode 100644
index 000000000..bd1dec186
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/msql_create_domain_numeric.sql
@@ -0,0 +1,12 @@
+CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ AS numeric(5,2)
+ DEFAULT 3
+ NOT NULL;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO postgres;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+ IS 'test_comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/test.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/test.json
index fa8b38191..ff4b11c5e 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/test.json
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/test.json
@@ -1,16 +1,18 @@
{
"scenarios": [{
"type": "create",
- "name": "Create Domain",
+ "name": "Create Domain with text data type",
"endpoint": "NODE-domain.obj",
"sql_endpoint": "NODE-domain.sql_id",
+ "msql_endpoint": "NODE-domain.msql_id",
"data": {
"name": "Dom1_$%{}[]()&*^!@\"'`\\/#",
"schema": "public",
"schema_id": "<SCHEMA_ID>",
"basensp": "public",
"description": "test_comment",
- "basetype": "bigint",
+ "basetype": "text",
+ "collname": "pg_catalog.\"C\"",
"typdefault": "5",
"typnotnull": "true",
"constraints": [{
@@ -20,46 +22,88 @@
}],
"seclabels": []
},
- "expected_sql_file": "create_domain.sql"
+ "expected_sql_file": "create_domain.sql",
+ "expected_msql_file": "msql_create_domain.sql"
}, {
"type": "alter",
"name": "Alter domain comment",
"endpoint": "NODE-domain.obj_id",
"sql_endpoint": "NODE-domain.sql_id",
+ "msql_endpoint": "NODE-domain.msql_id",
"data": {
"description": "test updated domain comment"
},
- "expected_sql_file": "alter_domain_comment.sql"
+ "expected_sql_file": "alter_domain_comment.sql",
+ "expected_msql_file": "msql_alter_domain_comment.sql"
}, {
"type": "alter",
"name": "Alter domain null type",
"endpoint": "NODE-domain.obj_id",
"sql_endpoint": "NODE-domain.sql_id",
+ "msql_endpoint": "NODE-domain.msql_id",
"data": {
"typnotnull": "false"
},
- "expected_sql_file": "alter_domain_null_type.sql"
+ "expected_sql_file": "alter_domain_null_type.sql",
+ "expected_msql_file": "msql_alter_domain_null_type.sql"
}, {
"type": "alter",
"name": "Alter domain default expression",
"endpoint": "NODE-domain.obj_id",
"sql_endpoint": "NODE-domain.sql_id",
+ "msql_endpoint": "NODE-domain.msql_id",
"data": {
"typdefault": "3"
},
- "expected_sql_file": "alter_domain_default_expression.sql"
+ "expected_sql_file": "alter_domain_default_expression.sql",
+ "expected_msql_file": "msql_alter_domain_default_expression.sql"
}, {
"type": "alter",
"name": "Alter domain name",
"endpoint": "NODE-domain.obj_id",
"sql_endpoint": "NODE-domain.sql_id",
+ "msql_endpoint": "NODE-domain.msql_id",
"data": {
"name": "Dom2_$%{}[]()&*^!@\"'`\\/#"
},
- "expected_sql_file": "alter_domain_name.sql"
+ "expected_sql_file": "alter_domain_name.sql",
+ "expected_msql_file": "msql_alter_domain_name.sql"
}, {
"type": "delete",
- "name": "Drop domain",
+ "name": "Drop domain of text data type",
+ "endpoint": "NODE-domain.delete_id",
+ "data": {
+ "name": "Dom2_$%{}[]()&*^!@\"'`\\/#"
+ }
+ }, {
+ "type": "create",
+ "name": "Create Domain with numeric data type",
+ "endpoint": "NODE-domain.obj",
+ "sql_endpoint": "NODE-domain.sql_id",
+ "msql_endpoint": "NODE-domain.msql_id",
+ "data": {
+ "name": "Dom1_$%{}[]()&*^!@\"'`\\/#",
+ "schema": "public",
+ "schema_id": "<SCHEMA_ID>",
+ "basensp": "public",
+ "description": "test_comment",
+ "basetype": "numeric",
+ "typlen": 5,
+ "precision": 2,
+ "typdefault": "3",
+ "typnotnull": "true",
+ "constraints": [{
+ "conname": "constraint_1",
+ "consrc": "true",
+ "convalidated": "true"
+ }],
+ "seclabels": []
+ },
+ "expected_sql_file": "create_domain_numeric.sql",
+ "expected_msql_file": "msql_create_domain_numeric.sql"
+ }, {
+ "type": "delete",
+ "name": "Drop domain of numeric data type",
"endpoint": "NODE-domain.delete_id",
"data": {
"name": "Dom2_$%{}[]()&*^!@\"'`\\/#"
view thread (4+ 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: RM 4463 - RESQL test cases for domain node
In-Reply-To: <CACCA4P3Enjd+gubO8gWGn-sKfrVotz29gU5w_DZqPVMAPt7Bag@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