Обсуждение: SVN Commit by andreas: r4593 - in trunk/pgadmin3/src: db dlg include schema slony
SVN Commit by andreas: r4593 - in trunk/pgadmin3/src: db dlg include schema slony
От
svn@pgadmin.org
Дата:
Author: andreas Date: 2005-10-23 13:29:06 +0100 (Sun, 23 Oct 2005) New Revision: 4593 Modified: trunk/pgadmin3/src/db/pgConn.cpp trunk/pgadmin3/src/dlg/dlgUser.cpp trunk/pgadmin3/src/include/pgfeatures.h trunk/pgadmin3/src/schema/pgServer.cpp trunk/pgadmin3/src/slony/dlgRepCluster.cpp trunk/pgadmin3/src/slony/slNode.cpp Log: some minor tweaks Modified: trunk/pgadmin3/src/db/pgConn.cpp =================================================================== --- trunk/pgadmin3/src/db/pgConn.cpp 2005-10-23 11:11:06 UTC (rev 4592) +++ trunk/pgadmin3/src/db/pgConn.cpp 2005-10-23 12:29:06 UTC (rev 4593) @@ -129,12 +129,20 @@ { features[FEATURE_INITIALIZED] = true; - pgSet *set=ExecuteSet( + wxString sql= wxT("SELECT proname, pronargs, proargtypes[0] AS arg0, proargtypes[1] AS arg1, proargtypes[2] AS arg2\n") wxT(" FROM pg_proc\n") + wxT(" JOIN pg_namespace n ON n.oid=pronamespace\n") wxT(" WHERE proname IN ('pg_tablespace_size', 'pg_file_read', 'pg_logfile_rotate',") - wxT( " 'pg_postmaster_starttime', 'pg_postmaster_start_time', 'pg_terminate_backend', 'pg_reload_conf')")); + wxT( " 'pg_postmaster_starttime', 'pg_terminate_backend', 'pg_reload_conf')\n"); + if (BackendMinimumVersion(8, 1)) + sql += wxT(" AND nspname = 'pg_catalog'"); + else + sql += wxT(" AND nspname IN ('pg_catalog', 'public')"); + + pgSet *set=ExecuteSet(sql); + if (set) { while (!set->Eof()) @@ -151,8 +159,6 @@ features[FEATURE_ROTATELOG] = true; else if (proname == wxT("pg_postmaster_starttime") && pronargs == 0) features[FEATURE_POSTMASTER_STARTTIME] = true; - else if (proname == wxT("pg_postmaster_start_time") && pronargs == 0) - features[FEATURE_POSTMASTER_START_TIME] = true; else if (proname == wxT("pg_terminate_backend") && pronargs == 1 && set->GetLong(wxT("arg0")) == 23) features[FEATURE_TERMINATE_BACKEND] = true; else if (proname == wxT("pg_reload_conf") && pronargs == 0) Modified: trunk/pgadmin3/src/dlg/dlgUser.cpp =================================================================== --- trunk/pgadmin3/src/dlg/dlgUser.cpp 2005-10-23 11:11:06 UTC (rev 4592) +++ trunk/pgadmin3/src/dlg/dlgUser.cpp 2005-10-23 12:29:06 UTC (rev 4593) @@ -171,6 +171,8 @@ } else { + wxDateTime empty; + datValidUntil->SetValue(empty); txtID->SetValidator(numericValidator); timValidUntil->Disable(); } Modified: trunk/pgadmin3/src/include/pgfeatures.h =================================================================== --- trunk/pgadmin3/src/include/pgfeatures.h 2005-10-23 11:11:06 UTC (rev 4592) +++ trunk/pgadmin3/src/include/pgfeatures.h 2005-10-23 12:29:06 UTC (rev 4593) @@ -22,7 +22,6 @@ FEATURE_POSTMASTER_STARTTIME, FEATURE_TERMINATE_BACKEND, FEATURE_RELOAD_CONF, - FEATURE_POSTMASTER_START_TIME, FEATURE_LAST }; Modified: trunk/pgadmin3/src/schema/pgServer.cpp =================================================================== --- trunk/pgadmin3/src/schema/pgServer.cpp 2005-10-23 11:11:06 UTC (rev 4592) +++ trunk/pgadmin3/src/schema/pgServer.cpp 2005-10-23 12:29:06 UTC (rev 4593) @@ -581,20 +581,26 @@ if (conn->BackendMinimumVersion(7, 3)) { connected = true; + bool hasUptime=false; wxString sql = wxT("SELECT usecreatedb, usesuper"); - if (conn->HasFeature(FEATURE_POSTMASTER_START_TIME)) + if (conn->BackendMinimumVersion(8, 1)) + { + hasUptime=true; sql += wxT(", CASE WHEN usesuper THEN pg_postmaster_start_time() ELSE NULL END as upsince"); + } else if (conn->HasFeature(FEATURE_POSTMASTER_STARTTIME)) + { + hasUptime=true; sql += wxT(", CASE WHEN usesuper THEN pg_postmaster_starttime() ELSE NULL END as upsince"); + } pgSet *set=ExecuteSet(sql + wxT("\n FROM pg_user WHERE usename=current_user")); if (set) { iSetCreatePrivilege(set->GetBool(wxT("usecreatedb"))); iSetSuperUser(set->GetBool(wxT("usesuper"))); - if (conn->HasFeature(FEATURE_POSTMASTER_START_TIME) || - conn->HasFeature(FEATURE_POSTMASTER_STARTTIME)) + if (hasUptime) iSetUpSince(set->GetDateTime(wxT("upsince"))); delete set; } Modified: trunk/pgadmin3/src/slony/dlgRepCluster.cpp =================================================================== --- trunk/pgadmin3/src/slony/dlgRepCluster.cpp 2005-10-23 11:11:06 UTC (rev 4592) +++ trunk/pgadmin3/src/slony/dlgRepCluster.cpp 2005-10-23 12:29:06 UTC (rev 4593) @@ -301,13 +301,18 @@ treeObjectIterator it(mainForm->GetBrowser(), mainForm->GetServerCollection()); pgServer *s; + int sel=-1; while ((s=(pgServer*)it.GetNextObject()) != 0) { if (s->IsCreatedBy(serverFactory)) + { + if (s == database->GetServer()) + sel = cbServer->GetCount(); cbServer->Append(mainForm->GetBrowser()->GetItemText(s->GetId()), (void*)s); + } } - if (cbServer->GetCount()) - cbServer->SetSelection(0); + if (sel >= 0) + cbServer->SetSelection(sel); } wxCommandEvent ev; Modified: trunk/pgadmin3/src/slony/slNode.cpp =================================================================== --- trunk/pgadmin3/src/slony/slNode.cpp 2005-10-23 11:11:06 UTC (rev 4592) +++ trunk/pgadmin3/src/slony/slNode.cpp 2005-10-23 12:29:06 UTC (rev 4593) @@ -53,6 +53,8 @@ wxMenu *menu=pgObject::GetNewMenu(); // if (GetCreatePrivilege()) + pathFactory.AppendMenu(menu); + listenFactory.AppendMenu(menu); return menu; }