public inbox for [email protected]
help / color / mirror / Atom feedFrom: Ganesh Jaybhay <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: [pgAdmin][RM5830] View: parenthesis re-arrangement with AND/OR
Date: Mon, 14 Sep 2020 17:13:26 +0530
Message-ID: <CAK6syAoyN-i85ONm9fWm1CBuWedH59eOoDBzU76UDptdTLQLSw@mail.gmail.com> (raw)
Hi Hackers,
Please find the attached patch to add the parenthesis similar to dba_views
for the created views.
Please review.
Regards,
Ganesh Jaybhay
Attachments:
[application/octet-stream] RM5830.patch (13.5K, 3-RM5830.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 39b435c..b2d6e46 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, true) AS definition,
+ pg_get_viewdef(c.oid) 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 39b435c..b2d6e46 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, true) AS definition,
+ pg_get_viewdef(c.oid) 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/ppas/9.3_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/properties.sql
index 39b435c..b2d6e46 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/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, true) AS definition,
+ pg_get_viewdef(c.oid) 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/gpdb_5.0_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/properties.sql
index a1daa34..456f33c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/gpdb_5.0_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, true) AS definition,
+ pg_get_viewdef(c.oid) 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.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 005af50..e28d847 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, true) AS definition,
+ pg_get_viewdef(c.oid) 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 82be52c..3b443f9 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, true) AS definition,
+ pg_get_viewdef(c.oid) 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 45f9a76..8af43c8 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, true) AS definition,
+ pg_get_viewdef(c.oid) 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 aa749ff..cd44282 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, true) AS definition,
+ pg_get_viewdef(c.oid) 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/ppas/9.1_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.1_plus/sql/properties.sql
index 7a14f1d..d81e872 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.1_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.1_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, true) AS definition,
+ pg_get_viewdef(c.oid) 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/ppas/9.2_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.2_plus/sql/properties.sql
index e2764c6..b29eccf 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.2_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.2_plus/sql/properties.sql
@@ -7,7 +7,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, true) AS definition,
+ pg_get_viewdef(c.oid) 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/ppas/9.3_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.3_plus/sql/properties.sql
index 45f9a76..8af43c8 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.3_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/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, true) AS definition,
+ pg_get_viewdef(c.oid) 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/ppas/9.4_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.4_plus/sql/properties.sql
index aa749ff..cd44282 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/9.4_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/views/ppas/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, true) AS definition,
+ pg_get_viewdef(c.oid) 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 5f5d7a9..479cd7a 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
@@ -8,6 +8,7 @@
##########################################################################
import uuid
+import json
from pgadmin.browser.server_groups.servers.databases.schemas.tests import \
utils as schema_utils
@@ -27,15 +28,29 @@ class ViewsGetTestCase(BaseTestGenerator):
m_view_sql = "CREATE MATERIALIZED VIEW %s.%s TABLESPACE pg_default AS " \
"SELECT 'test_pgadmin' WITH NO DATA;ALTER TABLE %s.%s OWNER" \
" TO %s"
+ view_sql_with_bracket = "CREATE OR REPLACE VIEW %s.%s AS " \
+ "SELECT CASE WHEN (pg_db.datistemplate = false " \
+ "AND pg_db.datallowconn = true AND " \
+ "(pg_db.datconnlimit = -1 OR " \
+ "pg_db.datacl is null)) then true else false " \
+ "end as res FROM pg_database pg_db; " \
+ "ALTER TABLE %s.%s OWNER TO %s"
scenarios = [
('Get view under schema node', dict(
url='/browser/view/obj/',
view_name="test_view_get_%s" % (str(uuid.uuid4())[1:8]),
- sql_query=view_sql)),
+ sql_query=view_sql,
+ type='view_without_conditions')),
('Get materialized view under schema node',
dict(url='/browser/mview/obj/',
view_name="test_mview_get_%s" % (str(uuid.uuid4())[1:8]),
- sql_query=m_view_sql))
+ sql_query=m_view_sql,
+ type='m_view_without_conditions')),
+ ('Get view having brackets in script under schema node', dict(
+ url='/browser/view/obj/',
+ view_name="test_view_get_%s" % (str(uuid.uuid4())[1:8]),
+ sql_query=view_sql_with_bracket,
+ type='view_with_conditions'))
]
def setUp(self):
@@ -77,6 +92,9 @@ class ViewsGetTestCase(BaseTestGenerator):
follow_redirects=True
)
self.assertEqual(response.status_code, 200)
+ if self.type == 'view_with_conditions':
+ response_data = json.loads(response.data.decode('utf-8'))
+ self.assertIn('((pg_db.datistemplate', response_data['definition'])
def tearDown(self):
# Disconnect the database
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][RM5830] View: parenthesis re-arrangement with AND/OR
In-Reply-To: <CAK6syAoyN-i85ONm9fWm1CBuWedH59eOoDBzU76UDptdTLQLSw@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