public inbox for [email protected]  
help / color / mirror / Atom feed
From: Yogesh Mahajan <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: [pgAdmin][Patch] RM 6379 - Cannot view foreign data wrapper properties if host option contains two host addresses
Date: Sun, 18 Apr 2021 20:28:44 +0530
Message-ID: <CAMa=N=P8kS6g14TpecYxc7kFrG4S5BS5kFxudEJ3-+J2R92rxA@mail.gmail.com> (raw)

Hi Team,

Please find a patch attached which fixes errors shown if foreign
server>option parameter has multiple values.
Also reverted changes done in RM 6802 patch for connection status bar which
leads feature test failures in server mode.


Thanks,
Yogesh Mahajan
EnterpriseDB


Attachments:

  [application/octet-stream] RM6379_v1.patch (7.2K, 3-RM6379_v1.patch)
  download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/9.3_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/9.3_plus/properties.sql
index 10565558a..86d129344 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/9.3_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/9.3_plus/properties.sql
@@ -6,7 +6,7 @@ LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=fdw.oid AND des.obj
 WHERE fdw.oid={{fdwid}}::oid
 {% else %}
 SELECT srv.oid, srvname as name, srvfdw as fdwid, srvtype as fsrvtype, srvversion as fsrvversion,
-fdw.fdwname as fdwname, description, pg_catalog.array_to_string(srvoptions, ',') AS fsrvoptions,
+fdw.fdwname as fdwname, description, srvoptions AS fsrvoptions,
 pg_catalog.pg_get_userbyid(srvowner) as fsrvowner, pg_catalog.array_to_string(srvacl::text[], ', ') as acl
 FROM pg_catalog.pg_foreign_server srv
 LEFT OUTER JOIN pg_catalog.pg_foreign_data_wrapper fdw on fdw.oid=srvfdw
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/default/properties.sql
index a16b16b2b..03e0a6689 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/default/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/templates/foreign_servers/sql/default/properties.sql
@@ -7,7 +7,7 @@ LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=fdw.oid AND des.obj
 WHERE fdw.oid={{fdwid}}::oid
 {% else %}
 SELECT srv.oid, srvname as name, srvtype as fsrvtype, srvversion as fsrvversion, fdw.fdwname as fdwname, description,
-pg_catalog.array_to_string(srvoptions, ',') AS fsrvoptions,
+srvoptions AS fsrvoptions,
 pg_catalog.pg_get_userbyid(srvowner) as fsrvowner, pg_catalog.array_to_string(srvacl::text[], ', ') as acl
 FROM pg_catalog.pg_foreign_server srv
 LEFT OUTER JOIN pg_catalog.pg_foreign_data_wrapper fdw on fdw.oid=srvfdw
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/templates/user_mappings/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/templates/user_mappings/sql/default/properties.sql
index 9bbe9f21e..aedf5600d 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/templates/user_mappings/sql/default/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/templates/user_mappings/sql/default/properties.sql
@@ -5,7 +5,7 @@ FROM pg_catalog.pg_foreign_server srv
     LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=srv.oid AND des.objsubid=0 AND des.classoid='pg_foreign_server'::regclass)
 WHERE srv.oid = {{fserid}}::oid
 {% elif fsid or umid %}
-SELECT u.umid AS oid, u.usename AS name, u.srvid AS fsid, pg_catalog.array_to_string(u.umoptions, ',') AS umoptions, fs.srvfdw AS fdwid
+SELECT u.umid AS oid, u.usename AS name, u.srvid AS fsid, umoptions AS umoptions, fs.srvfdw AS fdwid
 FROM pg_catalog.pg_user_mappings u
 LEFT JOIN pg_catalog.pg_foreign_server fs ON fs.oid = u.srvid
 {% if fsid %} WHERE u.srvid = {{fsid}}::oid {% endif %} {% if umid %} WHERE u.umid= {{umid}}::oid {% endif %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/properties.sql
index 8f39396ac..5e67e5ee9 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/9.3_plus/properties.sql
@@ -1,6 +1,6 @@
 {# ============= Get all the properties of foreign data wrapper ============= #}
 SELECT fdw.oid, fdwname as name, fdwhandler, fdwvalidator, description,
-    pg_catalog.array_to_string(fdwoptions, ',') AS fdwoptions, pg_catalog.pg_get_userbyid(fdwowner) as fdwowner, pg_catalog.array_to_string(fdwacl::text[], ', ') as acl,
+    fdwoptions AS fdwoptions, pg_catalog.pg_get_userbyid(fdwowner) as fdwowner, pg_catalog.array_to_string(fdwacl::text[], ', ') as acl,
     CASE
     -- EPAS in redwood mode, concatenation of a string with NULL results as the original string
     WHEN vp.proname IS NULL THEN NULL
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/properties.sql
index 09b593388..da4105966 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/templates/foreign_data_wrappers/sql/default/properties.sql
@@ -1,6 +1,6 @@
 {# ============= Get all the properties of foreign data wrapper ============= #}
 SELECT fdw.oid, fdwname as name, fdwhandler, fdwvalidator, description,
-    pg_catalog.array_to_string(fdwoptions, ',') AS fdwoptions, pg_catalog.pg_get_userbyid(fdwowner) as fdwowner, pg_catalog.array_to_string(fdwacl::text[], ', ') as acl,
+    fdwoptions AS fdwoptions, pg_catalog.pg_get_userbyid(fdwowner) as fdwowner, pg_catalog.array_to_string(fdwacl::text[], ', ') as acl,
     CASE
     -- EPAS in redwood mode, concatenation of a string with NULL results as the original string
     WHEN vp.proname IS NULL THEN NULL
diff --git a/web/pgadmin/browser/server_groups/servers/utils.py b/web/pgadmin/browser/server_groups/servers/utils.py
index 34892804c..e07a6273a 100644
--- a/web/pgadmin/browser/server_groups/servers/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/utils.py
@@ -161,8 +161,7 @@ def tokenize_options(options_from_db, option_name, option_value):
     """
     options = []
     if options_from_db is not None:
-        option_str = options_from_db.split(',')
-        for fdw_option in option_str:
+        for fdw_option in options_from_db:
             k, v = fdw_option.split('=', 1)
             options.append({option_name: k, option_value: v})
     return options
diff --git a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss
index e9d9a53c0..1ac4e7c3c 100644
--- a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss
+++ b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss
@@ -58,6 +58,8 @@
 
 #editor-panel {
   z-index: 0;
+  position: absolute;
+  top: $sql-editor-panel-top;
   bottom: 0;
   left: 0;
   right: 0;


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][Patch] RM 6379 - Cannot view foreign data wrapper properties if host option contains two host addresses
  In-Reply-To: <CAMa=N=P8kS6g14TpecYxc7kFrG4S5BS5kFxudEJ3-+J2R92rxA@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