Web pgadmin.org
 Home 
 ·  ·  ·  ·  ·  ·  · 
SVN Commit by andreas: r4318 - in trunk/pgadmin3: . src/agent src/agent/

SVN Commit by andreas: r4318 - in trunk/pgadmin3: . src/agent src/agent/include src/dlg src/schema



Author: andreas
Date: 2005-06-19 21:39:42 +0100 (Sun, 19 Jun 2005)
New Revision: 4318

Modified:
   trunk/pgadmin3/CHANGELOG.txt
   trunk/pgadmin3/src/agent/dlgSchedule.cpp
   trunk/pgadmin3/src/agent/dlgStep.cpp
   trunk/pgadmin3/src/agent/include/pgaJob.h
   trunk/pgadmin3/src/agent/pgaJob.cpp
   trunk/pgadmin3/src/agent/pgaSchedule.cpp
   trunk/pgadmin3/src/agent/pgaStep.cpp
   trunk/pgadmin3/src/dlg/dlgDatabase.cpp
   trunk/pgadmin3/src/dlg/dlgProperty.cpp
   trunk/pgadmin3/src/schema/pgCollection.cpp
   trunk/pgadmin3/src/schema/pgDatabase.cpp
   trunk/pgadmin3/src/schema/pgObject.cpp
   trunk/pgadmin3/src/schema/pgServer.cpp
Log:
pgAgent moved under server, some more fixes

Modified: trunk/pgadmin3/CHANGELOG.txt
===================================================================
--- trunk/pgadmin3/CHANGELOG.txt	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/CHANGELOG.txt	2005-06-19 20:39:42 UTC (rev 4318)
@@ -17,6 +17,7 @@
 </ul>
 <br>
 <ul>
+    <li>2005-06-19 AP        pgAgent moved under server, some more fixes
     <li>2005-06-19 AP        further translation issues
     <li>2005-06-17 AP        reduce translation nightmare
     <li>2005-06-17 AP        use wxDatePickCtrl for wxCalendarBox

Modified: trunk/pgadmin3/src/agent/dlgSchedule.cpp
===================================================================
--- trunk/pgadmin3/src/agent/dlgSchedule.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/agent/dlgSchedule.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -588,7 +588,7 @@
 				newTime = wxT("'") + tmpDateTime.FormatISOTime() + wxT("'");
 			}
 
-			sql += wxT("INSERT INTO pgagent.pga_exception (jexschid, jexdate, jextime)\n  VALUES (") 
+			sql += wxT("INSERT INTO pgagent.pga_exception (jexscid, jexdate, jextime)\n  VALUES (") 
 				+ NumToStr(recId) + wxT(", ") + newDate + wxT(", ") + newTime + wxT(");\n");
 
 		}

Modified: trunk/pgadmin3/src/agent/dlgStep.cpp
===================================================================
--- trunk/pgadmin3/src/agent/dlgStep.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/agent/dlgStep.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -174,10 +174,7 @@
         else
             jstjobid = wxT("<JobId>");
 
-        if (!cbDatabase->GetSelection())
-            db = wxT("NULL");
-        else
-            db = qtString(cbDatabase->GetValue());
+        db = qtString(cbDatabase->GetValue());
 
         sql = wxT("INSERT INTO pgagent.pga_jobstep (jstid, jstjobid, jstname, jstdesc, jstenabled, jstkind, jstonerror, jstcode, jstdbname)\n")
               wxT("SELECT <StpId>, ") + jstjobid + wxT(", ") + qtString(name) + wxT(", ") + qtString(txtComment->GetValue()) + wxT(", ")

Modified: trunk/pgadmin3/src/agent/include/pgaJob.h
===================================================================
--- trunk/pgadmin3/src/agent/include/pgaJob.h	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/agent/include/pgaJob.h	2005-06-19 20:39:42 UTC (rev 4318)
@@ -22,7 +22,7 @@
 // Class declarations
 
 
-class pgaJob : public pgDatabaseObject
+class pgaJob : public pgServerObject
 {
 public:
     pgaJob(const wxString& newName = wxT(""));
@@ -73,7 +73,7 @@
 };
 
 
-class pgaJobObject : public pgDatabaseObject
+class pgaJobObject : public pgServerObject
 {
 public:
     pgaJobObject(pgaJob *job, int newType, const wxString& newName);

Modified: trunk/pgadmin3/src/agent/pgaJob.cpp
===================================================================
--- trunk/pgadmin3/src/agent/pgaJob.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/agent/pgaJob.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -25,7 +25,7 @@
 extern sysSettings *settings;
 
 pgaJob::pgaJob(const wxString& newName)
-: pgDatabaseObject(PGA_JOB, newName)
+: pgServerObject(PGA_JOB, newName)
 {
     wxLogInfo(wxT("Creating a pgaJob object"));
 }
@@ -50,7 +50,7 @@
 
 bool pgaJob::DropObject(wxFrame *frame, wxTreeCtrl *browser, bool cascaded)
 {
-    return GetDatabase()->ExecuteVoid(wxT("DELETE FROM pgagent.pga_job WHERE jobid=") + NumToStr(GetRecId()));
+    return GetConnection()->ExecuteVoid(wxT("DELETE FROM pgagent.pga_job WHERE jobid=") + NumToStr(GetRecId()));
 }
 
 
@@ -120,7 +120,7 @@
 {
     pgaJob *job=0;
 
-    pgSet *jobs= collection->GetDatabase()->ExecuteSet(
+    pgSet *jobs= collection->GetConnection()->ExecuteSet(
        wxT("SELECT *, ")
 	   wxT("(SELECT jlgstatus FROM pgagent.pga_joblog jl WHERE jl.jlgjobid = j.jobid ORDER BY jlgid DESC LIMIT 1) AS joblastresult ")
 	   wxT("FROM pgagent.pga_job j\n")
@@ -148,8 +148,8 @@
                 status = _("Unknown");
 
             job = new pgaJob(jobs->GetVal(wxT("jobname")));
+            job->iSetServer(collection->GetServer());
             job->iSetRecId(jobs->GetLong(wxT("jobid")));
-            job->iSetDatabase(collection->GetDatabase());
             job->iSetComment(jobs->GetVal(wxT("jobdesc")));
 
             job->iSetEnabled(jobs->GetBool(wxT("jobenabled")));
@@ -201,7 +201,7 @@
 		statistics->AddColumn(_("End time"), 95);
 		statistics->AddColumn(_("Duration"), 70);
 
-        pgSet *stats = database->ExecuteSet(sql);
+        pgSet *stats = GetConnection()->ExecuteSet(sql);
 		wxString status;
 		wxDateTime startTime;
 		wxDateTime endTime;
@@ -239,8 +239,9 @@
 }
 
 pgaJobObject::pgaJobObject(pgaJob *_job, int newType, const wxString& newName)
-: pgDatabaseObject(newType, newName)
+: pgServerObject(newType, newName)
 {
     job=_job;
+    server=job->GetServer();
 }
 

Modified: trunk/pgadmin3/src/agent/pgaSchedule.cpp
===================================================================
--- trunk/pgadmin3/src/agent/pgaSchedule.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/agent/pgaSchedule.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -39,7 +39,7 @@
 
 bool pgaSchedule::DropObject(wxFrame *frame, wxTreeCtrl *browser, bool cascaded)
 {
-    return GetDatabase()->ExecuteVoid(wxT("DELETE FROM pgagent.pga_schedule WHERE jscid=") + NumToStr(GetRecId()));
+    return GetConnection()->ExecuteVoid(wxT("DELETE FROM pgagent.pga_schedule WHERE jscid=") + NumToStr(GetRecId()));
 }
 
 
@@ -93,7 +93,7 @@
     pgaSchedule *schedule=0;
 	wxString tmp;
 
-    pgSet *schedules= collection->GetDatabase()->ExecuteSet(
+    pgSet *schedules= collection->GetConnection()->ExecuteSet(
        wxT("SELECT * FROM pgagent.pga_schedule\n")
        wxT(" WHERE jscjobid=") + NumToStr(collection->GetJob()->GetRecId()) + wxT("\n")
        + restriction +
@@ -106,7 +106,6 @@
 
             schedule = new pgaSchedule(collection, schedules->GetVal(wxT("jscname")));
             schedule->iSetRecId(schedules->GetLong(wxT("jscid")));
-            schedule->iSetDatabase(collection->GetDatabase());
             schedule->iSetStart(schedules->GetDateTime(wxT("jscstart")));
             schedule->iSetEnd(schedules->GetDateTime(wxT("jscend")));
 
@@ -142,7 +141,7 @@
 
             schedule->iSetComment(schedules->GetVal(wxT("jscdesc")));
 
-			pgSet *exceptions =  collection->GetDatabase()->ExecuteSet(
+			pgSet *exceptions =  collection->GetConnection()->ExecuteSet(
 				wxT("SELECT * FROM pgagent.pga_exception\n")
 				wxT(" WHERE jexscid=") + NumToStr(schedule->GetRecId()) + wxT("\n"));
 	

Modified: trunk/pgadmin3/src/agent/pgaStep.cpp
===================================================================
--- trunk/pgadmin3/src/agent/pgaStep.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/agent/pgaStep.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -38,7 +38,7 @@
 
 bool pgaStep::DropObject(wxFrame *frame, wxTreeCtrl *browser, bool cascaded)
 {
-    return GetDatabase()->ExecuteVoid(wxT("DELETE FROM pgagent.pga_jobstep WHERE jstid=") + NumToStr(GetRecId()));
+    return GetConnection()->ExecuteVoid(wxT("DELETE FROM pgagent.pga_jobstep WHERE jstid=") + NumToStr(GetRecId()));
 }
 
 
@@ -86,7 +86,7 @@
 {
     pgaStep *step=0;
 
-    pgSet *steps= collection->GetDatabase()->ExecuteSet(
+    pgSet *steps= collection->GetConnection()->ExecuteSet(
        wxT("SELECT * FROM pgagent.pga_jobstep\n")
        wxT(" WHERE jstjobid=") + NumToStr(collection->GetJob()->GetRecId()) + wxT("\n")
        + restriction +
@@ -99,7 +99,6 @@
 
             step = new pgaStep(collection, steps->GetVal(wxT("jstname")));
             step->iSetRecId(steps->GetLong(wxT("jstid")));
-            step->iSetDatabase(collection->GetDatabase());
             step->iSetDbname(steps->GetVal(wxT("jstdbname")));
             step->iSetCode(steps->GetVal(wxT("jstcode")));
             step->iSetEnabled(steps->GetBool(wxT("jstenabled")));
@@ -174,7 +173,7 @@
 		statistics->AddColumn(_("Duration"), 70);
 		statistics->AddColumn(_("Output"), 200);
 
-        pgSet *stats = database->ExecuteSet(sql);
+        pgSet *stats = GetConnection()->ExecuteSet(sql);
 		wxString status;
 		wxDateTime startTime;
 		wxDateTime endTime;

Modified: trunk/pgadmin3/src/dlg/dlgDatabase.cpp
===================================================================
--- trunk/pgadmin3/src/dlg/dlgDatabase.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/dlg/dlgDatabase.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -183,6 +183,8 @@
 
 #if wxUSE_UNICODE
         encNo=cbEncoding->FindString(wxT("UNICODE"));
+        if (encNo < 0)
+            encNo=cbEncoding->FindString(wxT("UTF8"));
 #else
         encNo=cbEncoding->FindString(wxT("SQL_ASCII"));
 #endif

Modified: trunk/pgadmin3/src/dlg/dlgProperty.cpp
===================================================================
--- trunk/pgadmin3/src/dlg/dlgProperty.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/dlg/dlgProperty.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -1320,33 +1320,25 @@
 		long jobId=0, schId=0, stpId=0;
 		if (sql.Contains(wxT("<JobId>")))
 		{
-			jobId=StrToLong(connection->ExecuteScalar(wxT("SELECT nextval('pgagent.pga_job_jobid_seq');")));
+			recId = jobId=StrToLong(connection->ExecuteScalar(wxT("SELECT nextval('pgagent.pga_job_jobid_seq');")));
             while ((pos=sql.Find(wxT("<JobId>"))) >= 0)
                 sql = sql.Left(pos) + NumToStr(jobId) + sql.Mid(pos+7);
 		}
 		
 		if (sql.Contains(wxT("<SchId>")))
 		{
-			schId=StrToLong(connection->ExecuteScalar(wxT("SELECT nextval('pgagent.pga_schedule_jscid_seq');")));
+			recId = schId=StrToLong(connection->ExecuteScalar(wxT("SELECT nextval('pgagent.pga_schedule_jscid_seq');")));
 			while ((pos=sql.Find(wxT("<SchId>"))) >= 0)
                 sql = sql.Left(pos) + NumToStr(schId) + sql.Mid(pos+7);
 		}
 
 		if (sql.Contains(wxT("<StpId>")))
 		{
-			stpId=StrToLong(connection->ExecuteScalar(wxT("SELECT nextval('pgagent.pga_jobstep_jstid_seq');")));
+			recId = stpId=StrToLong(connection->ExecuteScalar(wxT("SELECT nextval('pgagent.pga_jobstep_jstid_seq');")));
 			while ((pos=sql.Find(wxT("<StpId>"))) >= 0)
                 sql = sql.Left(pos) + NumToStr(stpId) + sql.Mid(pos+7);
 		}
 
-		// OK, so what are we inserting? We need to set recId appropriately.
-		if (sql.StartsWith(wxT("INSERT INTO pgagent.pga_job")))
-			recId = jobId;
-		else if (sql.StartsWith(wxT("INSERT INTO pgagent.pga_schedule")))
-			recId = schId;
-		else if (sql.StartsWith(wxT("INSERT INTO pgagent.pga_jobstep")))
-			recId = stpId;
-
         pgSet *set=connection->ExecuteSet(sql);
         if (set)
         {

Modified: trunk/pgadmin3/src/schema/pgCollection.cpp
===================================================================
--- trunk/pgadmin3/src/schema/pgCollection.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/schema/pgCollection.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -81,8 +81,8 @@
     wxLogInfo(wxT("Creating a pgCollection object")); 
 	job = jb;
     schema=0;
-    database = job->GetDatabase();
-    server= database->GetServer();
+    server= job->GetServer();
+    database = server->GetDatabase();
 }
 
 pgCollection::~pgCollection()

Modified: trunk/pgadmin3/src/schema/pgDatabase.cpp
===================================================================
--- trunk/pgadmin3/src/schema/pgDatabase.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/schema/pgDatabase.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -324,18 +324,6 @@
             collection = new pgCollection(PG_SCHEMAS, this);
             AppendBrowserItem(browser, collection);
 
-            // Jobs
-			// We only add the Jobs node if the appropriate objects are in this DB.
-		    wxString exists = ExecuteScalar(
-				wxT("SELECT cl.oid FROM pg_class cl JOIN pg_namespace ns ON ns.oid=relnamespace\n")
-				wxT(" WHERE relname='pga_job' AND nspname='pgagent'"));
-
-			if (!exists.IsNull())
-			{
-				collection = new pgCollection(PGA_JOBS, this);
-	            AppendBrowserItem(browser, collection);
-			}
-
             // Slony-I Clusters
             collection = new pgCollection(SL_CLUSTERS, this);
             AppendBrowserItem(browser, collection);

Modified: trunk/pgadmin3/src/schema/pgObject.cpp
===================================================================
--- trunk/pgadmin3/src/schema/pgObject.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/schema/pgObject.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -616,29 +616,41 @@
 
 pgConn *pgObject::GetConnection() const
 {
-    pgConn *conn=0;
-    pgDatabase *db;
+    // in some cases, virtualization doesn't work so we need to mimic it here
+    pgDatabase *db=GetDatabase();
+    pgServer *server=0;
     switch (type)
     {
         case PG_SERVER:
-            conn=((pgServer*)this)->connection();
+            server = (pgServer*)this;
             break;
         case PG_DATABASES:
-        case PG_USER:
+        case PG_TABLESPACES:
+        case PG_GROUPS:
         case PG_USERS:
+        case PGA_JOBS:
+        case PGA_STEPS:
+        case PGA_SCHEDULES:
+            server = ((pgCollection*)this)->GetServer();
+            break;
+        case PG_DATABASE:
+        case PG_TABLESPACE:
         case PG_GROUP:
-        case PG_GROUPS:
-        case PG_TABLESPACES:
-        case PG_TABLESPACE:
-            conn=((pgServerObject*)this)->GetServer()->connection();
+        case PG_USER:
+        case PGA_JOB:
+        case PGA_STEP:
+        case PGA_SCHEDULE:
+            server = ((pgServerObject*)this)->GetServer();
             break;
         default:
-            db=GetDatabase();
-            if (db)
-                conn=db->connection();
             break;
     }
-    return conn;    
+
+    if (db)
+        return db->connection();
+    if (server)
+        return server->connection();
+    return 0;
 }
 
 

Modified: trunk/pgadmin3/src/schema/pgServer.cpp
===================================================================
--- trunk/pgadmin3/src/schema/pgServer.cpp	2005-06-19 12:25:24 UTC (rev 4317)
+++ trunk/pgadmin3/src/schema/pgServer.cpp	2005-06-19 20:39:42 UTC (rev 4318)
@@ -619,6 +619,17 @@
                 collection = new pgCollection(PG_TABLESPACES, this);
                 AppendBrowserItem(browser, collection);
             }
+            // Jobs
+			// We only add the Jobs node if the appropriate objects are the initial DB.
+		    wxString exists = conn->ExecuteScalar(
+				wxT("SELECT cl.oid FROM pg_class cl JOIN pg_namespace ns ON ns.oid=relnamespace\n")
+				wxT(" WHERE relname='pga_job' AND nspname='pgagent'"));
+
+			if (!exists.IsNull())
+			{
+				collection = new pgCollection(PGA_JOBS, this);
+	            AppendBrowserItem(browser, collection);
+			}
             // Groups
             collection = new pgCollection(PG_GROUPS, this);
             AppendBrowserItem(browser, collection);




Home | Main Index | Thread Index

top