SVN Commit by andreas: r4278 - in trunk/pgadmin3: . src/frm src/schema
От | svn@pgadmin.org |
---|---|
Тема | SVN Commit by andreas: r4278 - in trunk/pgadmin3: . src/frm src/schema |
Дата | |
Msg-id | 200506032005.j53K5sSR008674@developer.pgadmin.org обсуждение исходный текст |
Список | pgadmin-hackers |
Author: andreas Date: 2005-06-03 21:05:54 +0100 (Fri, 03 Jun 2005) New Revision: 4278 Modified: trunk/pgadmin3/CHANGELOG.txt trunk/pgadmin3/src/frm/frmStatus.cpp trunk/pgadmin3/src/schema/pgServer.cpp Log: Support for pgsql 8.1 pg_stat_activity Modified: trunk/pgadmin3/CHANGELOG.txt =================================================================== --- trunk/pgadmin3/CHANGELOG.txt 2005-06-03 19:21:18 UTC (rev 4277) +++ trunk/pgadmin3/CHANGELOG.txt 2005-06-03 20:05:54 UTC (rev 4278) @@ -17,6 +17,7 @@ </ul> <br> <ul> + <li>2005-06-03 AP Support for pgsql 8.1 pg_stat_activity <li>2005-06-03 AP Support for pgsql 8.1 instrumentation <li>2005-06-01 AP Support for Procedures aka functions with out parameters <li>2005-06-01 AP Support for EDB8.0 Modified: trunk/pgadmin3/src/frm/frmStatus.cpp =================================================================== --- trunk/pgadmin3/src/frm/frmStatus.cpp 2005-06-03 19:21:18 UTC (rev 4277) +++ trunk/pgadmin3/src/frm/frmStatus.cpp 2005-06-03 20:05:54 UTC (rev 4278) @@ -104,13 +104,14 @@ statusList->AddColumn(_("PID"), 35); statusList->AddColumn(_("Database"), 70); statusList->AddColumn(_("User"), 70); - if (connection->BackendMinimumVersion(7, 4)) { + if (connection->BackendMinimumVersion(8, 1)) + statusList->AddColumn(_("Client"), 70); + + if (connection->BackendMinimumVersion(7, 4)) statusList->AddColumn(_("Start"), 50); - statusList->AddColumn(_("Query"), 500); - } else { - statusList->AddColumn(_("Query"), 500); - } + statusList->AddColumn(_("Query"), 500); + lockList->AddColumn(_("PID"), 50); lockList->AddColumn(_("Database"), 50); lockList->AddColumn(_("Relation"), 50); @@ -118,13 +119,11 @@ lockList->AddColumn(_("TX"), 50); lockList->AddColumn(_("Mode"), 50); lockList->AddColumn(_("Granted"), 50); - if (connection->BackendMinimumVersion(7, 4)) { + if (connection->BackendMinimumVersion(7, 4)) lockList->AddColumn(_("Start"), 50); - lockList->AddColumn(_("Query"), 500); - } else { - lockList->AddColumn(_("Query"), 500); - } + lockList->AddColumn(_("Query"), 500); + if (connection->BackendMinimumVersion(8, 0) && connection->HasFeature(FEATURE_FILEREAD)) { @@ -279,23 +278,28 @@ { statusList->InsertItem(row, NumToStr(pid), 0); } - statusList->SetItem(row, 1, dataSet1->GetVal(wxT("datname"))); - statusList->SetItem(row, 2, dataSet1->GetVal(wxT("usename"))); wxString qry=dataSet1->GetVal(wxT("current_query")); - if (connection->BackendMinimumVersion(7, 4)) + int colpos=1; + statusList->SetItem(row, colpos++, dataSet1->GetVal(wxT("datname"))); + statusList->SetItem(row, colpos++, dataSet1->GetVal(wxT("usename"))); + + if (connection->BackendMinimumVersion(8, 1)) + { + wxString client=dataSet1->GetVal(wxT("client_addr")) + wxT(":") + dataSet1->GetVal(wxT("client_port")); + if (client == wxT(":-1")) + client = _("local pipe"); + statusList->SetItem(row, colpos++, client); + } + if (connection->BackendMinimumVersion(7, 4)) { - if (qry.IsEmpty()) { - statusList->SetItem(row, 3, wxEmptyString); - statusList->SetItem(row, 4, wxEmptyString); - } else { - statusList->SetItem(row, 3, dataSet1->GetVal(wxT("query_start"))); - statusList->SetItem(row, 4, qry.Left(250)); - } - } else { - statusList->SetItem(row, 3, qry.Left(250)); + if (qry.IsEmpty() || qry == wxT("<IDLE>")) + statusList->SetItem(row, colpos++, wxEmptyString); + else + statusList->SetItem(row, colpos++, dataSet1->GetVal(wxT("query_start"))); } + statusList->SetItem(row, colpos, qry.Left(250)); row++; } dataSet1->MoveNext(); @@ -372,31 +376,31 @@ { lockList->InsertItem(row, NumToStr(pid), 0); } - lockList->SetItem(row, 1, dataSet2->GetVal(wxT("dbname"))); - lockList->SetItem(row, 2, dataSet2->GetVal(wxT("class"))); - lockList->SetItem(row, 3, dataSet2->GetVal(wxT("user"))); - lockList->SetItem(row, 4, dataSet2->GetVal(wxT("transaction"))); - lockList->SetItem(row, 5, dataSet2->GetVal(wxT("mode"))); - if (dataSet2->GetVal(wxT("granted")) == wxT("t")) { - lockList->SetItem(row, 6, __("Yes")); - } else { - lockList->SetItem(row, 6, __("No")); - } + + int colpos=1; + lockList->SetItem(row, colpos++, dataSet2->GetVal(wxT("dbname"))); + lockList->SetItem(row, colpos++, dataSet2->GetVal(wxT("class"))); + lockList->SetItem(row, colpos++, dataSet2->GetVal(wxT("user"))); + lockList->SetItem(row, colpos++, dataSet2->GetVal(wxT("transaction"))); + lockList->SetItem(row, colpos++, dataSet2->GetVal(wxT("mode"))); + + if (dataSet2->GetVal(wxT("granted")) == wxT("t")) + lockList->SetItem(row, colpos++, _("Yes")); + else + lockList->SetItem(row, colpos++, _("No")); + wxString qry=dataSet2->GetVal(wxT("current_query")); if (connection->BackendMinimumVersion(7, 4)) { - if (qry.IsEmpty()) { - lockList->SetItem(row, 7, wxEmptyString); - lockList->SetItem(row, 8, wxEmptyString); - } else { - lockList->SetItem(row, 7, dataSet2->GetVal(wxT("query_start"))); - lockList->SetItem(row, 8, qry.Left(250)); - } - } else { - lockList->SetItem(row, 7, qry.Left(250)); + if (qry.IsEmpty() || qry == wxT("<IDLE>")) + lockList->SetItem(row, colpos++, wxEmptyString); + else + lockList->SetItem(row, colpos++, dataSet2->GetVal(wxT("query_start"))); } + lockList->SetItem(row, colpos++, qry.Left(250)); + row++; } dataSet2->MoveNext(); Modified: trunk/pgadmin3/src/schema/pgServer.cpp =================================================================== --- trunk/pgadmin3/src/schema/pgServer.cpp 2005-06-03 19:21:18 UTC (rev 4277) +++ trunk/pgadmin3/src/schema/pgServer.cpp 2005-06-03 20:05:54 UTC (rev 4278) @@ -689,18 +689,33 @@ statistics->AddColumn(wxT("PID"), 35); statistics->AddColumn(_("User"), 70); statistics->AddColumn(_("Database"), 70); + if (GetConnection()->BackendMinimumVersion(8, 1)) + { + statistics->AddColumn(_("Backend start"), 70); + statistics->AddColumn(_("Client"), 70); + } statistics->AddColumn(_("Current Query"), 300); - pgSet *stats = ExecuteSet(wxT("SELECT datname, procpid, usename, current_query FROM pg_stat_activity")); + pgSet *stats = ExecuteSet(wxT("SELECT * FROM pg_stat_activity")); if (stats) { int pos=0; while (!stats->Eof()) { statistics->InsertItem(pos, stats->GetVal(wxT("procpid")), 0); - statistics->SetItem(pos, 1, stats->GetVal(wxT("usename"))); - statistics->SetItem(pos, 2, stats->GetVal(wxT("datname"))); - statistics->SetItem(pos, 3, stats->GetVal(wxT("current_query"))); + int colpos=1; + statistics->SetItem(pos, colpos++, stats->GetVal(wxT("usename"))); + statistics->SetItem(pos, colpos++, stats->GetVal(wxT("datname"))); + if (GetConnection()->BackendMinimumVersion(8, 1)) + { + statistics->SetItem(pos, colpos++, stats->GetVal(wxT("backend_start"))); + wxString client=stats->GetVal(wxT("client_addr")) + wxT(":") + stats->GetVal(wxT("client_port")); + if (client == wxT(":-1")) + client = _("local pipe"); + statistics->SetItem(pos, colpos++, client); + } + statistics->SetItem(pos, colpos++, stats->GetVal(wxT("current_query"))); + stats->MoveNext(); pos++; }
В списке pgadmin-hackers по дате отправления:
Предыдущее
От: svn@pgadmin.orgДата:
Сообщение: SVN Commit by andreas: r4277 - in trunk/pgadmin3: . src/db src/frm