public inbox for [email protected]
help / color / mirror / Atom feed[pgAdmin][patch] RM3409 - Retrieving SQL from table throws exception
2+ messages / 2 participants
[nested] [flat]
* [pgAdmin][patch] RM3409 - Retrieving SQL from table throws exception
@ 2018-06-08 18:43 Victoria Henry <[email protected]>
0 siblings, 1 reply; 2+ messages in thread
From: Victoria Henry @ 2018-06-08 18:43 UTC (permalink / raw)
To: pgadmin-hackers
Hi hackers,
Attached is a patch that fixes an exception when trying to view the SQL tab
on a GreenPlum database.
Sincerely,
Joao && Victoria
Attachments:
[application/octet-stream] RM3409.patch (4.2K, 3-RM3409.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/9.1_plus/properties.sql
new file mode 100644
index 00000000..2d34accf
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/9.1_plus/properties.sql
@@ -0,0 +1,23 @@
+SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
+ nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
+ COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
+ substring(pg_get_triggerdef(t.oid), 'WHEN (.*) \\$trigger')) AS whenclause,
+ -- We need to convert tgargs column bytea datatype to array datatype
+ (string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs,
+{% if datlastsysoid %}
+ (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
+{% endif %}
+ (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
+ (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
+FROM pg_trigger t
+ JOIN pg_class cl ON cl.oid=tgrelid
+ JOIN pg_namespace na ON na.oid=relnamespace
+ LEFT OUTER JOIN pg_description des ON (des.objoid=t.oid AND des.classoid='pg_trigger'::regclass)
+ LEFT OUTER JOIN pg_proc p ON p.oid=t.tgfoid
+ LEFT OUTER JOIN pg_language l ON l.oid=p.prolang
+WHERE NOT tgisinternal
+ AND tgrelid = {{tid}}::OID
+{% if trid %}
+ AND t.oid = {{trid}}::OID
+{% endif %}
+ORDER BY tgname;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql
index 2d34accf..9af81185 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/trigger/sql/default/properties.sql
@@ -1,23 +1 @@
-SELECT t.oid,t.tgname AS name, t.xmin, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
- nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
- COALESCE(substring(pg_get_triggerdef(t.oid), 'WHEN (.*) EXECUTE PROCEDURE'),
- substring(pg_get_triggerdef(t.oid), 'WHEN (.*) \\$trigger')) AS whenclause,
- -- We need to convert tgargs column bytea datatype to array datatype
- (string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs,
-{% if datlastsysoid %}
- (CASE WHEN t.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_trigger,
-{% endif %}
- (CASE WHEN tgconstraint != 0::OID THEN true ElSE false END) AS is_constraint_trigger,
- (CASE WHEN tgenabled = 'O' THEN true ElSE false END) AS is_enable_trigger
-FROM pg_trigger t
- JOIN pg_class cl ON cl.oid=tgrelid
- JOIN pg_namespace na ON na.oid=relnamespace
- LEFT OUTER JOIN pg_description des ON (des.objoid=t.oid AND des.classoid='pg_trigger'::regclass)
- LEFT OUTER JOIN pg_proc p ON p.oid=t.tgfoid
- LEFT OUTER JOIN pg_language l ON l.oid=p.prolang
-WHERE NOT tgisinternal
- AND tgrelid = {{tid}}::OID
-{% if trid %}
- AND t.oid = {{trid}}::OID
-{% endif %}
-ORDER BY tgname;
+SELECT 1 WHERE 1 = 2;
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
index 9ef06541..2faabd07 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
@@ -1003,6 +1003,8 @@ class BaseTableView(PGChildNodeView, BasePartitionTable):
if not status:
return internal_server_error(errormsg=res)
+ if len(res['rows']) == 0:
+ continue
data = dict(res['rows'][0])
# Adding parent into data dict, will be using it while creating sql
data['schema'] = schema
^ permalink raw reply [nested|flat] 2+ messages in thread
* Re: [pgAdmin][patch] RM3409 - Retrieving SQL from table throws exception
@ 2018-06-11 15:56 Dave Page <[email protected]>
parent: Victoria Henry <[email protected]>
0 siblings, 0 replies; 2+ messages in thread
From: Dave Page @ 2018-06-11 15:56 UTC (permalink / raw)
To: Victoria Henry <[email protected]>; +Cc: pgadmin-hackers
Thanks, patch applied.
On Fri, Jun 8, 2018 at 7:43 PM, Victoria Henry <[email protected]> wrote:
> Hi hackers,
>
> Attached is a patch that fixes an exception when trying to view the SQL
> tab on a GreenPlum database.
>
> Sincerely,
>
> Joao && Victoria
>
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
^ permalink raw reply [nested|flat] 2+ messages in thread
end of thread, other threads:[~2018-06-11 15:56 UTC | newest]
Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2018-06-08 18:43 [pgAdmin][patch] RM3409 - Retrieving SQL from table throws exception Victoria Henry <[email protected]>
2018-06-11 15:56 ` Dave Page <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox