public inbox for [email protected]
help / color / mirror / Atom feedFrom: Nikhil Mohite <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: [pgAdmin][RM-6061]: [Sql] - Extra Parens around joins are added to views
Date: Tue, 22 Dec 2020 17:27:34 +0530
Message-ID: <CAOBg0AP7YymObKwG_fuGvxuPemN4ytONJPStxJsOgvrEN8PGDg@mail.gmail.com> (raw)
Hi Team,
Please find the attached patch for RM-6062
<https://redmine.postgresql.org/issues/6061;: [Sql] - Extra Parens around
joins are added to views.
1. Added "pretty_bool" flag again while fetching view definition for PG
only.
2. Updated test cases as per new changes.
--
*Thanks & Regards,*
*Nikhil Mohite*
*Software Engineer.*
*EDB Postgres* <https://www.enterprisedb.com/;
*Mob.No: +91-7798364578.*
Attachments:
[application/octet-stream] RM_6061.patch (9.0K, 3-RM_6061.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql
index b2d6e46..39b435c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql
@@ -15,7 +15,7 @@ SELECT
nsp.nspname as schema,
pg_get_userbyid(c.relowner) AS owner,
description AS comment,
- pg_get_viewdef(c.oid) AS definition,
+ pg_get_viewdef(c.oid, true) AS definition,
{# ============= Checks if it is system view ================ #}
{% if vid and datlastsysoid %}
CASE WHEN {{vid}} <= {{datlastsysoid}} THEN True ELSE False END AS system_view,
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql
index b2d6e46..39b435c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql
@@ -15,7 +15,7 @@ SELECT
nsp.nspname as schema,
pg_get_userbyid(c.relowner) AS owner,
description AS comment,
- pg_get_viewdef(c.oid) AS definition,
+ pg_get_viewdef(c.oid, true) AS definition,
{# ============= Checks if it is system view ================ #}
{% if vid and datlastsysoid %}
CASE WHEN {{vid}} <= {{datlastsysoid}} THEN True ELSE False END AS system_view,
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.1_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.1_plus/sql/properties.sql
index e28d847..005af50 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.1_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.1_plus/sql/properties.sql
@@ -8,7 +8,7 @@ SELECT
description AS comment,
c.reltablespace AS spcoid,
pg_get_userbyid(c.relowner) AS owner,
- pg_get_viewdef(c.oid) AS definition,
+ pg_get_viewdef(c.oid, true) AS definition,
array_to_string(c.relacl::text[], ', ') AS acl,
{#=============Checks if it is system view================#}
{% if vid and datlastsysoid %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.2_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.2_plus/sql/properties.sql
index 3b443f9..82be52c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.2_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.2_plus/sql/properties.sql
@@ -8,7 +8,7 @@ SELECT
(CASE WHEN length(spc.spcname::text) > 0 THEN spc.spcname ELSE 'pg_default' END) as spcname,
pg_get_userbyid(c.relowner) AS owner,
description As comment,
- pg_get_viewdef(c.oid) AS definition,
+ pg_get_viewdef(c.oid, true) AS definition,
nsp.nspname AS schema,
array_to_string(c.relacl::text[], ', ') AS acl,
{#=============Checks if it is system view================#}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.3_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.3_plus/sql/properties.sql
index 8af43c8..45f9a76 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.3_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.3_plus/sql/properties.sql
@@ -11,7 +11,7 @@ SELECT
c.relispopulated AS ispopulated,
pg_get_userbyid(c.relowner) AS owner,
array_to_string(c.relacl::text[], ', ') AS acl,
- pg_get_viewdef(c.oid) AS definition,
+ pg_get_viewdef(c.oid, true) AS definition,
{# ===== Checks if it is system view ===== #}
{% if vid and datlastsysoid %}
CASE WHEN {{vid}} <= {{datlastsysoid}} THEN True ELSE False END AS system_view,
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.4_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.4_plus/sql/properties.sql
index cd44282..aa749ff 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.4_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/pg/9.4_plus/sql/properties.sql
@@ -12,7 +12,7 @@ SELECT
c.relispopulated AS ispopulated,
pg_get_userbyid(c.relowner) AS owner,
array_to_string(c.relacl::text[], ', ') AS acl,
- pg_get_viewdef(c.oid) AS definition,
+ pg_get_viewdef(c.oid, true) AS definition,
{# ===== Checks if it is system view ===== #}
{% if vid and datlastsysoid %}
CASE WHEN {{vid}} <= {{datlastsysoid}} THEN True ELSE False END AS system_view,
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_views_get.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_views_get.py
index d8491a7..830a401 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_views_get.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_views_get.py
@@ -85,8 +85,12 @@ class ViewsGetTestCase(BaseTestGenerator):
test_result_data = self.expected_data["test_result_data"]
if bool(test_result_data):
response_data = json.loads(response.data.decode('utf-8'))
- self.assertIn(test_result_data["definition"],
- response_data['definition'])
+ if self.server['type'] == 'pg':
+ self.assertIn(test_result_data["pg_definition"],
+ response_data['definition'])
+ else:
+ self.assertIn(test_result_data["definition"],
+ response_data['definition'])
else:
if self.mocking_required:
with patch(self.mock_data["function_name"],
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/view_test_data.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/view_test_data.json
index 11038c4..413c284 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/view_test_data.json
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/view_test_data.json
@@ -164,7 +164,8 @@
"status_code": 200,
"error_msg": null,
"test_result_data": {
- "definition": " SELECT\n CASE\n WHEN ((pg_db.datistemplate = false) AND (pg_db.datallowconn = true) AND ((pg_db.datconnlimit = '-1'::integer) OR (pg_db.datacl IS NULL))) THEN true\n ELSE false\n END AS res\n FROM pg_database pg_db;"
+ "definition": " SELECT\n CASE\n WHEN ((pg_db.datistemplate = false) AND (pg_db.datallowconn = true) AND ((pg_db.datconnlimit = '-1'::integer) OR (pg_db.datacl IS NULL))) THEN true\n ELSE false\n END AS res\n FROM pg_database pg_db;",
+ "pg_definition": " SELECT\n CASE\n WHEN pg_db.datistemplate = false AND pg_db.datallowconn = true AND (pg_db.datconnlimit = '-1'::integer OR pg_db.datacl IS NULL) THEN true\n ELSE false\n END AS res\n FROM pg_database pg_db;"
}
},
"is_list": false
@@ -463,7 +464,8 @@
"status_code": 200,
"error_msg": null,
"test_result_data": {
- "definition": " SELECT\n CASE\n WHEN ((pg_db.datistemplate = false) AND (pg_db.datallowconn = true) AND ((pg_db.datconnlimit = '-1'::integer) OR (pg_db.datacl IS NULL))) THEN true\n ELSE false\n END AS res\n FROM pg_database pg_db;"
+ "definition": " SELECT\n CASE\n WHEN ((pg_db.datistemplate = false) AND (pg_db.datallowconn = true) AND ((pg_db.datconnlimit = '-1'::integer) OR (pg_db.datacl IS NULL))) THEN true\n ELSE false\n END AS res\n FROM pg_database pg_db;",
+ "pg_definition": " SELECT\n CASE\n WHEN pg_db.datistemplate = false AND pg_db.datallowconn = true AND (pg_db.datconnlimit = '-1'::integer OR pg_db.datacl IS NULL) THEN true\n ELSE false\n END AS res\n FROM pg_database pg_db;"
}
},
"is_list": false
view thread (2+ 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][RM-6061]: [Sql] - Extra Parens around joins are added to views
In-Reply-To: <CAOBg0AP7YymObKwG_fuGvxuPemN4ytONJPStxJsOgvrEN8PGDg@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