diff options
Diffstat (limited to 'databases/pgadmin3/files/patch-pg10')
-rw-r--r-- | databases/pgadmin3/files/patch-pg10 | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/databases/pgadmin3/files/patch-pg10 b/databases/pgadmin3/files/patch-pg10 new file mode 100644 index 000000000000..09eb34ca27c0 --- /dev/null +++ b/databases/pgadmin3/files/patch-pg10 @@ -0,0 +1,71 @@ +Authors: Bernhard Rieder <bernhard@ratte.cc>, Christoph Berg <myon@debian.org> + +--- pgadmin/schema/pgServer.cpp ++++ pgadmin/schema/pgServer.cpp +@@ -905,13 +905,24 @@ int pgServer::Connect(frmMain *form, boo + if (conn->BackendMinimumVersion(8, 5)) + { + sql += wxT(", CASE WHEN usesuper THEN pg_is_in_recovery() ELSE NULL END as inrecovery"); +- sql += wxT(", CASE WHEN usesuper THEN pg_last_xlog_receive_location() ELSE NULL END as receiveloc"); +- sql += wxT(", CASE WHEN usesuper THEN pg_last_xlog_replay_location() ELSE NULL END as replayloc"); ++ if (conn->BackendMinimumVersion(10, 0)) ++ { ++ sql += wxT(", CASE WHEN usesuper THEN pg_last_wal_receive_lsn() ELSE NULL END as receiveloc"); ++ sql += wxT(", CASE WHEN usesuper THEN pg_last_wal_replay_lsn() ELSE NULL END as replayloc"); ++ } ++ else ++ { ++ sql += wxT(", CASE WHEN usesuper THEN pg_last_xlog_receive_location() ELSE NULL END as receiveloc"); ++ sql += wxT(", CASE WHEN usesuper THEN pg_last_xlog_replay_location() ELSE NULL END as replayloc"); ++ } + } + if (conn->BackendMinimumVersion(9, 1)) + { + sql += wxT(", CASE WHEN usesuper THEN pg_last_xact_replay_timestamp() ELSE NULL END as replay_timestamp"); +- sql += wxT(", CASE WHEN usesuper AND pg_is_in_recovery() THEN pg_is_xlog_replay_paused() ELSE NULL END as isreplaypaused"); ++ if (conn->BackendMinimumVersion(10, 0)) ++ sql += wxT(", CASE WHEN usesuper AND pg_is_in_recovery() THEN pg_is_wal_replay_paused() ELSE NULL END as isreplaypaused"); ++ else ++ sql += wxT(", CASE WHEN usesuper AND pg_is_in_recovery() THEN pg_is_xlog_replay_paused() ELSE NULL END as isreplaypaused"); + } + + pgSet *set = ExecuteSet(sql + wxT("\n FROM pg_user WHERE usename=current_user")); +@@ -1355,7 +1366,11 @@ void pgServer::ShowStatistics(frmMain *f + wxString pidcol = GetConnection()->BackendMinimumVersion(9, 2) ? wxT("pid") : wxT("procpid"); + wxString querycol = GetConnection()->BackendMinimumVersion(9, 2) ? wxT("query") : wxT("current_query"); + wxString sql; +- wxString replication_query = wxT("state || ' (' || sent_location || ' sent, ' || write_location || ' written, ' || flush_location || ' flushed, ' || replay_location || ' applied)'"); ++ wxString replication_query; ++ if (conn->BackendMinimumVersion(10, 0)) ++ replication_query = wxT("state || ' (' || sent_lsn || ' sent, ' || write_lsn || ' written, ' || flush_lsn || ' flushed, ' || replay_lsn || ' applied)'"); ++ else ++ replication_query = wxT("state || ' (' || sent_location || ' sent, ' || write_location || ' written, ' || flush_location || ' flushed, ' || replay_location || ' applied)'"); + wxLogInfo(wxT("Displaying statistics for server %s"), GetIdentifier().c_str()); + + // Add the statistics view columns +@@ -1434,7 +1449,11 @@ bool pgServer::ReloadConfiguration() + bool pgServer::PauseReplay() + { + SetReplayPaused(true); +- wxString sql = wxT("SELECT pg_xlog_replay_pause()"); ++ wxString sql; ++ if (conn->BackendMinimumVersion(10, 0)) ++ sql = wxT("SELECT pg_wal_replay_pause()"); ++ else ++ sql = wxT("SELECT pg_xlog_replay_pause()"); + return conn->ExecuteVoid(sql); + } + +@@ -1442,7 +1461,11 @@ bool pgServer::PauseReplay() + bool pgServer::ResumeReplay() + { + SetReplayPaused(false); +- wxString sql = wxT("SELECT pg_xlog_replay_resume()"); ++ wxString sql; ++ if (conn->BackendMinimumVersion(10, 0)) ++ sql = wxT("SELECT pg_wal_replay_resume()"); ++ else ++ sql = wxT("SELECT pg_xlog_replay_resume()"); + return conn->ExecuteVoid(sql); + } + |