[rhmessaging-commits] rhmessaging commits: r3434 - in mgmt/trunk/mint: sql and 1 other directory.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Mon Jun 8 14:11:25 EDT 2009
Author: nunofsantos
Date: 2009-06-08 14:11:25 -0400 (Mon, 08 Jun 2009)
New Revision: 3434
Modified:
mgmt/trunk/mint/python/mint/schema.py
mgmt/trunk/mint/sql/schema.sql
mgmt/trunk/mint/sql/triggers.sql
Log:
updated schema
Modified: mgmt/trunk/mint/python/mint/schema.py
===================================================================
--- mgmt/trunk/mint/python/mint/schema.py 2009-06-08 17:51:40 UTC (rev 3433)
+++ mgmt/trunk/mint/python/mint/schema.py 2009-06-08 18:11:25 UTC (rev 3434)
@@ -288,6 +288,74 @@
model.callMethod(self.qmfBrokerId, originalId, self.qmfClassKey, "Submit",
callback, args=actualArgs)
+ def GetAd(self, model, callback, Id, JobAd):
+ actualArgs = list()
+ if Id is not None:
+ actualArgs.append(Id)
+ if JobAd is not None:
+ actualArgs.append(JobAd)
+ originalId = ObjectId(None, self.qmfScopeId, self.qmfObjectId)
+ model.callMethod(self.qmfBrokerId, originalId, self.qmfClassKey, "GetAd",
+ callback, args=actualArgs)
+
+ def SetAttribute(self, model, callback, Id, Name, Value):
+ actualArgs = list()
+ if Id is not None:
+ actualArgs.append(Id)
+ if Name is not None:
+ actualArgs.append(Name)
+ if Value is not None:
+ actualArgs.append(Value)
+ originalId = ObjectId(None, self.qmfScopeId, self.qmfObjectId)
+ model.callMethod(self.qmfBrokerId, originalId, self.qmfClassKey, "SetAttribute",
+ callback, args=actualArgs)
+
+ def Hold(self, model, callback, Id, Reason):
+ actualArgs = list()
+ if Id is not None:
+ actualArgs.append(Id)
+ if Reason is not None:
+ actualArgs.append(Reason)
+ originalId = ObjectId(None, self.qmfScopeId, self.qmfObjectId)
+ model.callMethod(self.qmfBrokerId, originalId, self.qmfClassKey, "Hold",
+ callback, args=actualArgs)
+
+ def Release(self, model, callback, Id, Reason):
+ actualArgs = list()
+ if Id is not None:
+ actualArgs.append(Id)
+ if Reason is not None:
+ actualArgs.append(Reason)
+ originalId = ObjectId(None, self.qmfScopeId, self.qmfObjectId)
+ model.callMethod(self.qmfBrokerId, originalId, self.qmfClassKey, "Release",
+ callback, args=actualArgs)
+
+ def Remove(self, model, callback, Id, Reason):
+ actualArgs = list()
+ if Id is not None:
+ actualArgs.append(Id)
+ if Reason is not None:
+ actualArgs.append(Reason)
+ originalId = ObjectId(None, self.qmfScopeId, self.qmfObjectId)
+ model.callMethod(self.qmfBrokerId, originalId, self.qmfClassKey, "Remove",
+ callback, args=actualArgs)
+
+ def Fetch(self, model, callback, Id, File, Start, End, Data):
+ actualArgs = list()
+ if Id is not None:
+ actualArgs.append(Id)
+ if File is not None:
+ actualArgs.append(File)
+ if Start is not None:
+ actualArgs.append(Start)
+ if End is not None:
+ actualArgs.append(End)
+ if Data is not None:
+ actualArgs.append(Data)
+ originalId = ObjectId(None, self.qmfScopeId, self.qmfObjectId)
+ model.callMethod(self.qmfBrokerId, originalId, self.qmfClassKey, "Fetch",
+ callback, args=actualArgs)
+
class SchedulerStats(SQLObject):
class sqlmeta:
lazyUpdate = True
@@ -629,6 +697,44 @@
+class Submission(SQLObject):
+ class sqlmeta:
+ lazyUpdate = True
+ qmfBrokerId = StringCol(length=1000, default=None)
+ qmfScopeId = BigIntCol(default=None)
+ qmfAgentId = StringCol(length=1000, default=None)
+ qmfObjectId = BigIntCol(default=None)
+ qmfIdsUnique = DatabaseIndex(qmfBrokerId, qmfScopeId, qmfObjectId, unique=True)
+ qmfClassKey = StringCol(length=1000, default=None)
+ qmfPersistent = BoolCol(default=None)
+ qmfUpdateTime = TimestampCol(default=None)
+ qmfCreateTime = TimestampCol(default=None)
+ qmfDeleteTime = TimestampCol(default=None)
+ statsCurr = ForeignKey('SubmissionStats', cascade='null', default=None)
+ statsCurrIndex = DatabaseIndex(statsCurr)
+ statsPrev = ForeignKey('SubmissionStats', cascade='null', default=None)
+ statsPrevIndex = DatabaseIndex(statsPrev)
+ classInfos = dict() # brokerId => classInfo
+ scheduler = ForeignKey('Scheduler', cascade='null', default=None)
+ submitter = ForeignKey('Submitter', cascade='null', default=None)
+ Name = StringCol(length=1000, default=None)
+
+
+class SubmissionStats(SQLObject):
+ class sqlmeta:
+ lazyUpdate = True
+ qmfUpdateTime = TimestampCol(default=None)
+ submission = ForeignKey('Submission', cascade='null', default=None)
+ classInfos = dict() # brokerId => classInfo
+ Idle = BigIntCol(default=None)
+ Running = BigIntCol(default=None)
+ Removed = BigIntCol(default=None)
+ Completed = BigIntCol(default=None)
+ Held = BigIntCol(default=None)
+
+
+
+
class Acl(SQLObject):
class sqlmeta:
lazyUpdate = True
@@ -1540,6 +1646,16 @@
Grid.sqlmeta.addJoin(SQLMultipleJoin('GridStats', joinMethodName='stats'))
+classToSchemaNameMap['Submission'] = 'Submission'
+schemaNameToClassMap['Submission'] = Submission
+
+Scheduler.sqlmeta.addJoin(SQLMultipleJoin('Submission', joinMethodName='submissions'))
+
+Submitter.sqlmeta.addJoin(SQLMultipleJoin('Submission', joinMethodName='submissions'))
+
+
+Submission.sqlmeta.addJoin(SQLMultipleJoin('SubmissionStats', joinMethodName='stats'))
+
classToSchemaNameMap['Acl'] = 'Acl'
schemaNameToClassMap['Acl'] = Acl
@@ -1669,6 +1785,6 @@
Sysimage.sqlmeta.addJoin(SQLMultipleJoin('SysimageStats', joinMethodName='stats'))
-entityClasses = ['Slot', 'Job', 'Scheduler', 'Submitter', 'Negotiator', 'Collector', 'Master', 'Grid', 'Acl', 'Cluster', 'Store', 'Journal', 'System', 'Broker', 'Agent', 'Vhost', 'Queue', 'Exchange', 'Binding', 'ClientConnection', 'Link', 'Bridge', 'Session', 'Sysimage']
+entityClasses = ['Slot', 'Job', 'Scheduler', 'Submitter', 'Negotiator', 'Collector', 'Master', 'Grid', 'Submission', 'Acl', 'Cluster', 'Store', 'Journal', 'System', 'Broker', 'Agent', 'Vhost', 'Queue', 'Exchange', 'Binding', 'ClientConnection', 'Link', 'Bridge', 'Session', 'Sysimage']
-statsClasses = ['SlotStats', 'JobStats', 'SchedulerStats', 'SubmitterStats', 'NegotiatorStats', 'CollectorStats', 'MasterStats', 'GridStats', 'AclStats', 'ClusterStats', 'StoreStats', 'JournalStats', 'SystemStats', 'BrokerStats', 'AgentStats', 'VhostStats', 'QueueStats', 'ExchangeStats', 'BindingStats', 'ClientConnectionStats', 'LinkStats', 'BridgeStats', 'SessionStats', 'SysimageStats']
+statsClasses = ['SlotStats', 'JobStats', 'SchedulerStats', 'SubmitterStats', 'NegotiatorStats', 'CollectorStats', 'MasterStats', 'GridStats', 'SubmissionStats', 'AclStats', 'ClusterStats', 'StoreStats', 'JournalStats', 'SystemStats', 'BrokerStats', 'AgentStats', 'VhostStats', 'QueueStats', 'ExchangeStats', 'BindingStats', 'ClientConnectionStats', 'LinkStats', 'BridgeStats', 'SessionStats', 'SysimageStats']
Modified: mgmt/trunk/mint/sql/schema.sql
===================================================================
--- mgmt/trunk/mint/sql/schema.sql 2009-06-08 17:51:40 UTC (rev 3433)
+++ mgmt/trunk/mint/sql/schema.sql 2009-06-08 18:11:25 UTC (rev 3434)
@@ -930,6 +930,38 @@
tpl_outstanding_ai_os_high BIGINT
);
+CREATE TABLE submission (
+ id SERIAL PRIMARY KEY,
+ qmf_broker_id VARCHAR(1000),
+ qmf_scope_id BIGINT,
+ qmf_agent_id VARCHAR(1000),
+ qmf_object_id BIGINT,
+ qmf_class_key VARCHAR(1000),
+ qmf_persistent BOOL,
+ qmf_update_time TIMESTAMP,
+ qmf_create_time TIMESTAMP,
+ qmf_delete_time TIMESTAMP,
+ stats_curr_id INT,
+ stats_prev_id INT,
+ scheduler_id INT,
+ submitter_id INT,
+ name VARCHAR(1000)
+);
+CREATE UNIQUE INDEX submission_qmfIdsUnique ON submission (qmf_broker_id, qmf_scope_id, qmf_object_id);
+CREATE INDEX submission_statsPrevIndex ON submission (stats_prev_id);
+CREATE INDEX submission_statsCurrIndex ON submission (stats_curr_id);
+
+CREATE TABLE submission_stats (
+ id SERIAL PRIMARY KEY,
+ qmf_update_time TIMESTAMP,
+ submission_id INT,
+ idle BIGINT,
+ running BIGINT,
+ removed BIGINT,
+ completed BIGINT,
+ held BIGINT
+);
+
CREATE TABLE submitter (
id SERIAL PRIMARY KEY,
qmf_broker_id VARCHAR(1000),
@@ -1227,6 +1259,16 @@
ALTER TABLE store_stats ADD CONSTRAINT store_id_exists FOREIGN KEY (store_id) REFERENCES store (id) ON DELETE SET NULL;
+ALTER TABLE submission ADD CONSTRAINT stats_curr_id_exists FOREIGN KEY (stats_curr_id) REFERENCES submission_stats (id) ON DELETE SET NULL;
+
+ALTER TABLE submission ADD CONSTRAINT stats_prev_id_exists FOREIGN KEY (stats_prev_id) REFERENCES submission_stats (id) ON DELETE SET NULL;
+
+ALTER TABLE submission ADD CONSTRAINT scheduler_id_exists FOREIGN KEY (scheduler_id) REFERENCES scheduler (id) ON DELETE SET NULL;
+
+ALTER TABLE submission ADD CONSTRAINT submitter_id_exists FOREIGN KEY (submitter_id) REFERENCES submitter (id) ON DELETE SET NULL;
+
+ALTER TABLE submission_stats ADD CONSTRAINT submission_id_exists FOREIGN KEY (submission_id) REFERENCES submission (id) ON DELETE SET NULL;
+
ALTER TABLE submitter ADD CONSTRAINT stats_curr_id_exists FOREIGN KEY (stats_curr_id) REFERENCES submitter_stats (id) ON DELETE SET NULL;
ALTER TABLE submitter ADD CONSTRAINT stats_prev_id_exists FOREIGN KEY (stats_prev_id) REFERENCES submitter_stats (id) ON DELETE SET NULL;
Modified: mgmt/trunk/mint/sql/triggers.sql
===================================================================
--- mgmt/trunk/mint/sql/triggers.sql 2009-06-08 17:51:40 UTC (rev 3433)
+++ mgmt/trunk/mint/sql/triggers.sql 2009-06-08 18:11:25 UTC (rev 3434)
@@ -121,6 +121,19 @@
CREATE INDEX grid_stats_update_time ON grid_stats (qmf_update_time);
+CREATE OR REPLACE FUNCTION update_submission_stats() RETURNS trigger AS '
+BEGIN
+ UPDATE submission SET stats_prev_id = stats_curr_id, stats_curr_id = new.id WHERE id = new.submission_id;
+ RETURN new;
+END
+' LANGUAGE plpgsql;
+
+CREATE TRIGGER update_submission_stats AFTER INSERT ON submission_stats
+ FOR EACH ROW EXECUTE PROCEDURE update_submission_stats();
+
+CREATE INDEX submission_stats_update_time ON submission_stats (qmf_update_time);
+
+
CREATE OR REPLACE FUNCTION update_acl_stats() RETURNS trigger AS '
BEGIN
UPDATE acl SET stats_prev_id = stats_curr_id, stats_curr_id = new.id WHERE id = new.acl_id;
More information about the rhmessaging-commits
mailing list