From 49cd578816ab45166556fcd46096671130939cc3 Mon Sep 17 00:00:00 2001 From: Atul Sharma Date: Mon, 12 Jun 2017 12:53:09 +0100 Subject: [PATCH] Fix error on the stats tab with PG10. Also, rename the 10.0_plus template directory to 10_plus to match the new versioning. Fixes #2450 --- .../sql/{10.0_plus => 10_plus}/get_def.sql | 0 .../{10.0_plus => 10_plus}/check_recovery.sql | 0 .../templates/servers/sql/10_plus/stats.sql | 51 +++++++++++++++++++ .../utils/versioned_template_loader.py | 2 +- 4 files changed, 52 insertions(+), 1 deletion(-) rename web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/sql/{10.0_plus => 10_plus}/get_def.sql (100%) rename web/pgadmin/browser/server_groups/servers/templates/connect/sql/{10.0_plus => 10_plus}/check_recovery.sql (100%) create mode 100644 web/pgadmin/browser/server_groups/servers/templates/servers/sql/10_plus/stats.sql diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/sql/10.0_plus/get_def.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/sql/10_plus/get_def.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/sql/10.0_plus/get_def.sql rename to web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/templates/sequence/sql/10_plus/get_def.sql diff --git a/web/pgadmin/browser/server_groups/servers/templates/connect/sql/10.0_plus/check_recovery.sql b/web/pgadmin/browser/server_groups/servers/templates/connect/sql/10_plus/check_recovery.sql similarity index 100% rename from web/pgadmin/browser/server_groups/servers/templates/connect/sql/10.0_plus/check_recovery.sql rename to web/pgadmin/browser/server_groups/servers/templates/connect/sql/10_plus/check_recovery.sql diff --git a/web/pgadmin/browser/server_groups/servers/templates/servers/sql/10_plus/stats.sql b/web/pgadmin/browser/server_groups/servers/templates/servers/sql/10_plus/stats.sql new file mode 100644 index 000000000..444b4d2c3 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/templates/servers/sql/10_plus/stats.sql @@ -0,0 +1,51 @@ +SELECT + pid AS "PID", + usename AS {{ conn|qtIdent(_('User')) }}, + datname AS {{ conn|qtIdent(_('Database')) }}, + backend_start AS {{ conn|qtIdent(_('Backend start')) }}, + CASE + WHEN client_hostname IS NOT NULL AND client_hostname != '' THEN + client_hostname || ':' || client_port + WHEN client_addr IS NOT NULL AND client_addr::text != '' THEN + client_addr::text || ':' || client_port + WHEN client_port = -1 THEN + 'local pipe' + ELSE + 'localhost:' || client_port + END AS {{ conn|qtIdent(_('Client')) }}, + application_name AS {{ conn|qtIdent(_('Application')) }}, + wait_event_type AS {{ conn|qtIdent(_('Wait event type')) }}, + wait_event AS {{ conn|qtIdent(_('Wait event name')) }}, + query AS {{ conn|qtIdent(_('Query')) }}, + query_start AS {{ conn|qtIdent(_('Query start')) }}, + xact_start AS {{ conn|qtIdent(_('Xact start')) }} +FROM + pg_stat_activity sa +WHERE + (SELECT r.rolsuper OR r.oid = sa.usesysid FROM pg_roles r WHERE r.rolname = current_user) +UNION +SELECT + pid AS "PID", + usename AS {{ conn|qtIdent(_('User')) }}, + '' AS {{ conn|qtIdent(_('Database')) }}, + backend_start AS {{ conn|qtIdent(_('Backend start')) }}, + CASE + WHEN client_hostname IS NOT NULL AND client_hostname != '' THEN + client_hostname || ':' || client_port + WHEN client_addr IS NOT NULL AND client_addr::text != '' THEN + client_addr::text || ':' || client_port + WHEN client_port = -1 THEN + 'local pipe' + ELSE + 'localhost:' || client_port + END AS {{ conn|qtIdent(_('Client')) }}, + {{ _('Streaming Replication')|qtLiteral }} AS {{ conn|qtIdent(_('Application')) }}, + null AS {{ conn|qtIdent(_('Wait event type')) }}, + null AS {{ conn|qtIdent(_('Wait event name')) }}, + state || ' [sync (state: ' || COALESCE(sync_state, '') || ', priority: ' || sync_priority::text || ')] (' || sent_lsn || ' sent, ' || write_lsn || ' written, ' || flush_lsn || ' flushed, ' || replay_lsn || ' applied)' AS {{ conn|qtIdent(_('Query')) }}, + null AS {{ conn|qtIdent(_('Query start')) }}, + null AS {{ conn|qtIdent(_('Xact start')) }} +FROM + pg_stat_replication sa +WHERE + (SELECT r.rolsuper OR r.oid = sa.usesysid FROM pg_roles r WHERE r.rolname = current_user) diff --git a/web/pgadmin/utils/versioned_template_loader.py b/web/pgadmin/utils/versioned_template_loader.py index df24ab74c..d8cc1a116 100644 --- a/web/pgadmin/utils/versioned_template_loader.py +++ b/web/pgadmin/utils/versioned_template_loader.py @@ -16,7 +16,7 @@ class VersionedTemplateLoader(DispatchingJinjaLoader): template_path_parts = template.split("#", 2) server_versions = ( - {'name': "10.0_plus", 'number': 100000}, + {'name': "10_plus", 'number': 100000}, {'name': "9.6_plus", 'number': 90600}, {'name': "9.5_plus", 'number': 90500}, {'name': "9.4_plus", 'number': 90400},