Log Message:
-----------
Further pgAgent updates. Move schedules and steps under pgCollection nodes.
Modified Files:
--------------
pgadmin3/src/agent:
dlgSchedule.cpp (r1.13 -> r1.14)
dlgStep.cpp (r1.12 -> r1.13)
pgaAgent.cpp (r1.10 -> r1.11)
pgaJob.cpp (r1.10 -> r1.11)
pgaSchedule.cpp (r1.12 -> r1.13)
pgaStep.cpp (r1.11 -> r1.12)
pgadmin3/src/agent/include:
pgaSchedule.h (r1.9 -> r1.10)
pgaStep.h (r1.8 -> r1.9)
pgadmin3/src/include:
pgCollection.h (r1.16 -> r1.17)
pgObject.h (r1.63 -> r1.64)
pgadmin3/src/schema:
pgCollection.cpp (r1.39 -> r1.40)
pgObject.cpp (r1.78 -> r1.79)
Index: pgaSchedule.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaSchedule.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -Lsrc/agent/pgaSchedule.cpp -Lsrc/agent/pgaSchedule.cpp -u -w -r1.12 -r1.13
--- src/agent/pgaSchedule.cpp
+++ src/agent/pgaSchedule.cpp
@@ -28,8 +28,8 @@
WX_DEFINE_OBJARRAY(wxArrayTimeSpan);
-pgaSchedule::pgaSchedule(pgaJob *_job, const wxString& newName)
-: pgaJobObject(_job, PGA_SCHEDULE, newName)
+pgaSchedule::pgaSchedule(pgCollection *_collection, const wxString& newName)
+: pgaJobObject(_collection->GetJob(), PGA_SCHEDULE, newName)
{
wxLogInfo(wxT("Creating a pgaSchedule object"));
}
@@ -106,8 +106,8 @@
wxTreeItemId parentItem=browser->GetItemParent(item);
if (parentItem)
{
- pgaJob *obj=(pgaJob*)browser->GetItemData(parentItem);
- if (obj->GetType() == PGA_JOB)
+ pgCollection *obj=(pgCollection*)browser->GetItemData(parentItem);
+ if (obj->GetType() == PGA_SCHEDULES)
schedule = ReadObjects(obj, 0);
}
return schedule;
@@ -115,13 +115,13 @@
-pgObject *pgaSchedule::ReadObjects(pgaJob *job, wxTreeCtrl *browser, const
wxString &restriction)
+pgObject *pgaSchedule::ReadObjects(pgCollection *collection, wxTreeCtrl
*browser, const wxString &restriction)
{
pgaSchedule *schedule=0;
- pgSet *schedules= job->GetDatabase()->ExecuteSet(
+ pgSet *schedules= collection->GetDatabase()->ExecuteSet(
wxT("SELECT * FROM pgadmin.pga_schedule\n")
- wxT(" WHERE jscjobid=") + NumToStr(job->GetId()) + wxT("\n")
+ wxT(" WHERE jscjobid=") + NumToStr(collection->GetId()) + wxT("\n")
+ restriction +
wxT(" ORDER BY jscid"));
@@ -130,9 +130,9 @@
while (!schedules->Eof())
{
- schedule = new pgaSchedule(job, schedules->GetVal(wxT("jscname")));
+ schedule = new pgaSchedule(collection,
schedules->GetVal(wxT("jscname")));
schedule->iSetId(schedules->GetLong(wxT("jscid")));
- schedule->iSetDatabase(job->GetDatabase());
+ schedule->iSetDatabase(collection->GetDatabase());
schedule->iSetStart(schedules->GetDateTime(wxT("jscstart")));
schedule->iSetEnd(schedules->GetDateTime(wxT("jscend")));
schedule->iSetSchedule(schedules->GetDateTime(wxT("jscsched")));
@@ -157,7 +157,7 @@
if (browser)
{
- job->AppendBrowserItem(browser, schedule);
+ collection->AppendBrowserItem(browser, schedule);
schedules->MoveNext();
}
else
Index: dlgStep.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/dlgStep.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -Lsrc/agent/dlgStep.cpp -Lsrc/agent/dlgStep.cpp -u -w -r1.12 -r1.13
--- src/agent/dlgStep.cpp
+++ src/agent/dlgStep.cpp
@@ -112,7 +112,7 @@
{
wxString name=GetName();
- pgObject *obj=pgaStep::ReadObjects(job, 0, wxT(" AND jstid=") +
NumToStr(id) + wxT("\n"));
+ pgObject *obj=pgaStep::ReadObjects(collection, 0, wxT(" AND jstid=") +
NumToStr(id) + wxT("\n"));
return obj;
}
Index: pgaStep.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaStep.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -Lsrc/agent/pgaStep.cpp -Lsrc/agent/pgaStep.cpp -u -w -r1.11 -r1.12
--- src/agent/pgaStep.cpp
+++ src/agent/pgaStep.cpp
@@ -23,8 +23,8 @@
#include "pgaSchedule.h"
-pgaStep::pgaStep(pgaJob *_job, const wxString& newName)
-: pgaJobObject(_job, PGA_STEP, newName)
+pgaStep::pgaStep(pgCollection *_collection, const wxString& newName)
+: pgaJobObject(_collection->GetJob(), PGA_STEP, newName)
{
wxLogInfo(wxT("Creating a pgaStep object"));
}
@@ -72,8 +72,8 @@
wxTreeItemId parentItem=browser->GetItemParent(item);
if (parentItem)
{
- pgaJob *obj=(pgaJob*)browser->GetItemData(parentItem);
- if (obj->GetType() == PGA_JOB)
+ pgCollection *obj=(pgCollection*)browser->GetItemData(parentItem);
+ if (obj->GetType() == PGA_STEPS)
Step = ReadObjects(obj, 0);
}
return Step;
@@ -81,13 +81,13 @@
-pgObject *pgaStep::ReadObjects(pgaJob *job, wxTreeCtrl *browser, const
wxString &restriction)
+pgObject *pgaStep::ReadObjects(pgCollection *collection, wxTreeCtrl *browser,
const wxString &restriction)
{
pgaStep *step=0;
- pgSet *steps= job->GetDatabase()->ExecuteSet(
+ pgSet *steps= collection->GetDatabase()->ExecuteSet(
wxT("SELECT * FROM pgadmin.pga_jobstep\n")
- wxT(" WHERE jstjobid=") + NumToStr(job->GetId()) + wxT("\n")
+ wxT(" WHERE jstjobid=") + NumToStr(collection->GetId()) + wxT("\n")
+ restriction +
wxT(" ORDER BY jstid"));
@@ -96,9 +96,9 @@
while (!steps->Eof())
{
- step = new pgaStep(job, steps->GetVal(wxT("jstname")));
+ step = new pgaStep(collection, steps->GetVal(wxT("jstname")));
step->iSetId(steps->GetLong(wxT("jstid")));
- step->iSetDatabase(job->GetDatabase());
+ step->iSetDatabase(collection->GetDatabase());
step->iSetDbname(steps->GetVal(wxT("jstdbname")));
step->iSetCode(steps->GetVal(wxT("jstcode")));
step->iSetEnabled(steps->GetBool(wxT("jstenabled")));
@@ -131,7 +131,7 @@
if (browser)
{
- job->AppendBrowserItem(browser, step);
+ collection->AppendBrowserItem(browser, step);
steps->MoveNext();
}
else
Index: pgaJob.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaJob.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -Lsrc/agent/pgaJob.cpp -Lsrc/agent/pgaJob.cpp -u -w -r1.10 -r1.11
--- src/agent/pgaJob.cpp
+++ src/agent/pgaJob.cpp
@@ -16,6 +16,7 @@
#include "pgAdmin3.h"
#include "misc.h"
#include "pgObject.h"
+#include "pgCollection.h"
#include "pgDatabase.h"
#include "pgaAgent.h"
#include "pgaJob.h"
@@ -60,11 +61,18 @@
expandedKids=true;
RemoveDummyChild(browser);
+
// Log
wxLogInfo(wxT("Adding child objects to Job."));
+ pgCollection *collection;
- pgaStep::ReadObjects(this, browser);
- pgaSchedule::ReadObjects(this, browser);
+ // Schedules
+ collection = new pgCollection(PGA_SCHEDULES, this);
+ AppendBrowserItem(browser, collection);
+
+ // Steps
+ collection = new pgCollection(PGA_STEPS, this);
+ AppendBrowserItem(browser, collection);
}
Index: dlgSchedule.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/dlgSchedule.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -Lsrc/agent/dlgSchedule.cpp -Lsrc/agent/dlgSchedule.cpp -u -w -r1.13 -r1.14
--- src/agent/dlgSchedule.cpp
+++ src/agent/dlgSchedule.cpp
@@ -119,7 +119,7 @@
{
wxString name=GetName();
- pgObject *obj=pgaSchedule::ReadObjects(job, 0, wxT(" AND jscid=") +
NumToStr(id) + wxT("\n"));
+ pgObject *obj=pgaSchedule::ReadObjects(collection, 0, wxT(" AND jscid=")
+ NumToStr(id) + wxT("\n"));
return obj;
}
Index: pgaAgent.cpp
===================================================================
RCS file: /projects/pgadmin3/src/agent/pgaAgent.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -Lsrc/agent/pgaAgent.cpp -Lsrc/agent/pgaAgent.cpp -u -w -r1.10 -r1.11
--- src/agent/pgaAgent.cpp
+++ src/agent/pgaAgent.cpp
@@ -116,7 +116,7 @@
if (!exists.IsNull())
{
- agent = new pgaAgent(_("pgAgent"));
+ agent = new pgaAgent(_("pgAgent Jobs"));
agent->iSetDatabase(database);
if (browser)
Index: pgaStep.h
===================================================================
RCS file: /projects/pgadmin3/src/agent/include/pgaStep.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -Lsrc/agent/include/pgaStep.h -Lsrc/agent/include/pgaStep.h -u -w -r1.8
-r1.9
--- src/agent/include/pgaStep.h
+++ src/agent/include/pgaStep.h
@@ -17,6 +17,7 @@
// App headers
#include "pgAdmin3.h"
+#include "pgCollection.h"
#include "pgConn.h"
#include "pgObject.h"
#include "pgaJob.h"
@@ -27,12 +28,12 @@
class pgaStep : public pgaJobObject
{
public:
- pgaStep(pgaJob *job, const wxString& newName = wxT(""));
+ pgaStep(pgCollection *collection, const wxString& newName = wxT(""));
~pgaStep();
int GetIcon() { return PGAICON_STEP; }
void ShowTreeDetail(wxTreeCtrl *browser, frmMain *form=0, ctlListView
*properties=0, ctlSQLBox *sqlPane=0);
- static pgObject *ReadObjects(pgaJob *job, wxTreeCtrl *browser, const
wxString &restriction=wxEmptyString);
+ static pgObject *ReadObjects(pgCollection *collection, wxTreeCtrl
*browser, const wxString &restriction=wxEmptyString);
pgObject *Refresh(wxTreeCtrl *browser, const wxTreeItemId item);
bool DropObject(wxFrame *frame, wxTreeCtrl *browser);
Index: pgaSchedule.h
===================================================================
RCS file: /projects/pgadmin3/src/agent/include/pgaSchedule.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -Lsrc/agent/include/pgaSchedule.h -Lsrc/agent/include/pgaSchedule.h -u -w
-r1.9 -r1.10
--- src/agent/include/pgaSchedule.h
+++ src/agent/include/pgaSchedule.h
@@ -17,6 +17,7 @@
// App headers
#include "pgAdmin3.h"
+#include "pgCollection.h"
#include "pgConn.h"
#include "pgObject.h"
#include "pgaJob.h"
@@ -29,12 +30,12 @@
class pgaSchedule : public pgaJobObject
{
public:
- pgaSchedule(pgaJob *job, const wxString& newName = wxT(""));
+ pgaSchedule(pgCollection *collection, const wxString& newName = wxT(""));
~pgaSchedule();
int GetIcon() { return PGAICON_SCHEDULE; }
void ShowTreeDetail(wxTreeCtrl *browser, frmMain *form=0, ctlListView
*properties=0, ctlSQLBox *sqlPane=0);
- static pgObject *ReadObjects(pgaJob *job, wxTreeCtrl *browser, const
wxString &restriction=wxEmptyString);
+ static pgObject *ReadObjects(pgCollection *collection, wxTreeCtrl
*browser, const wxString &restriction=wxEmptyString);
pgObject *Refresh(wxTreeCtrl *browser, const wxTreeItemId item);
bool DropObject(wxFrame *frame, wxTreeCtrl *browser);
Index: pgObject.h
===================================================================
RCS file: /projects/pgadmin3/src/include/pgObject.h,v
retrieving revision 1.63
retrieving revision 1.64
diff -Lsrc/include/pgObject.h -Lsrc/include/pgObject.h -u -w -r1.63 -r1.64
--- src/include/pgObject.h
+++ src/include/pgObject.h
@@ -62,8 +62,8 @@
PGA_AGENT,
PGA_JOB,
- PGA_STEP,
- PGA_SCHEDULE,
+ PGA_SCHEDULES, PGA_SCHEDULE,
+ PGA_STEPS, PGA_STEP,
SL_CLUSTERS, SL_CLUSTER,
SL_NODES, SL_NODE,
Index: pgCollection.h
===================================================================
RCS file: /projects/pgadmin3/src/include/pgCollection.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -Lsrc/include/pgCollection.h -Lsrc/include/pgCollection.h -u -w -r1.16
-r1.17
--- src/include/pgCollection.h
+++ src/include/pgCollection.h
@@ -19,6 +19,7 @@
#include "pgAdmin3.h"
#include "pgObject.h"
#include "pgSchema.h"
+#include "pgaJob.h"
class pgServer;
class pgDatabase;
@@ -30,6 +31,7 @@
pgCollection(int newType, pgServer *sv);
pgCollection(int newType, pgDatabase *db);
pgCollection(int newType, pgSchema *sch);
+ pgCollection(int newType, pgaJob *jb);
~pgCollection();
virtual bool IsCollection() const { return true; }
virtual bool IsCollectionForType(int objType) { return GetType() ==
objType-1; }
@@ -37,6 +39,7 @@
pgServer *GetServer() const { return server; }
pgDatabase *GetDatabase() const { return database; }
pgSchema *GetSchema() const { return schema; }
+ pgaJob *GetJob() const { return job; }
int GetIcon();
void ShowTreeDetail(wxTreeCtrl *browser, frmMain *form=0, ctlListView
*properties=0, ctlSQLBox *sqlPane=0);
@@ -50,6 +53,7 @@
pgServer *server;
pgDatabase *database;
pgSchema *schema;
+ pgaJob *job;
};
Index: pgObject.cpp
===================================================================
RCS file: /projects/pgadmin3/src/schema/pgObject.cpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -Lsrc/schema/pgObject.cpp -Lsrc/schema/pgObject.cpp -u -w -r1.78 -r1.79
--- src/schema/pgObject.cpp
+++ src/schema/pgObject.cpp
@@ -81,8 +81,10 @@
{__("Agent"), PGAICON_AGENT, 0, 0},
{__("Job"), PGAICON_JOB, __("New Job"), __("Create a new Job") },
- {__("Step"), PGAICON_STEP, __("New Step"), __("Create new Step") },
+ {__("Schedules"), PGAICON_SCHEDULE, 0, 0},
{__("Schedule"), PGAICON_SCHEDULE, __("New Schedule"), __("Create new
Schedule") },
+ {__("Steps"), PGAICON_STEP, 0, 0},
+ {__("Step"), PGAICON_STEP, __("New Step"), __("Create new Step") },
{__("Replication"), SLICON_CLUSTER, __("New Slony-I Cluster"), __("Create
new Slony-I Replication Cluster") },
{__("Slony-I Cluster"), SLICON_CLUSTER, __("New Slony-I Cluster"),
__("Create new Slony-I Replication Cluster") },
Index: pgCollection.cpp
===================================================================
RCS file: /projects/pgadmin3/src/schema/pgCollection.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -Lsrc/schema/pgCollection.cpp -Lsrc/schema/pgCollection.cpp -u -w -r1.39
-r1.40
--- src/schema/pgCollection.cpp
+++ src/schema/pgCollection.cpp
@@ -36,6 +36,9 @@
#include "pgIndex.h"
#include "pgRule.h"
#include "pgTrigger.h"
+#include "pgaStep.h"
+#include "pgaSchedule.h"
+#include "pgaJob.h"
#include "slCluster.h"
@@ -44,6 +47,7 @@
: pgObject(newType, typesList[newType].typName)
{
wxLogInfo(wxT("Creating a pgCollection object"));
+ job=0;
schema=0;
database=0;
server= sv;
@@ -54,6 +58,7 @@
: pgObject(newType, typesList[newType].typName)
{
wxLogInfo(wxT("Creating a pgCollection object"));
+ job=0;
schema=0;
database=db;
server= database->GetServer();
@@ -64,11 +69,21 @@
: pgObject(newType, typesList[newType].typName)
{
wxLogInfo(wxT("Creating a pgCollection object"));
+ job=0;
schema = sch;
database = sch->GetDatabase();
server= database->GetServer();
}
+pgCollection::pgCollection(int newType, pgaJob *jb)
+: pgObject(newType, typesList[newType].typName)
+{
+ wxLogInfo(wxT("Creating a pgCollection object"));
+ job = jb;
+ schema=0;
+ database = job->GetDatabase();
+ server= database->GetServer();
+}
pgCollection::~pgCollection()
{
@@ -121,6 +136,8 @@
case PG_USERS:
case PG_GROUPS:
case PG_TABLESPACES:
+ case PGA_STEPS:
+ case PGA_SCHEDULES:
return GetServer()->GetSuperUser();
case PG_DATABASES:
return GetServer()->GetCreatePrivilege();
@@ -178,6 +195,8 @@
case PG_INDEXES: return PGICON_INDEX;
case PG_RULES: return PGICON_RULE;
case PG_TRIGGERS: return PGICON_TRIGGER;
+ case PGA_STEPS: return PGAICON_STEP;
+ case PGA_SCHEDULES: return PGAICON_SCHEDULE;
case SL_CLUSTERS: return SLICON_CLUSTER;
default: return 0;
}
@@ -280,6 +299,12 @@
case PG_TRIGGERS:
pgTrigger::ReadObjects(this, browser);
break;
+ case PGA_STEPS:
+ pgaStep::ReadObjects(this, browser);
+ break;
+ case PGA_SCHEDULES:
+ pgaSchedule::ReadObjects(this, browser);
+ break;
case SL_CLUSTERS:
slCluster::ReadObjects(this, browser);
break;
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings