Example #1
0
    def __init__(self, db, schema):
        self.db = db

        metaoverride = {
            "ATTR": {
                "validator": self.validate_attr
            },
            "DEPS": {
                "validator": self.validate_deps
            },
            "RUN_USERS": {
                "validator": self.validate_run_users
            }
        }

        self.table = db2util.table(db, schema, "JOB_DATA", metaoverride)
        self.attr_dao = jr_common.data_child_table_dao(db, schema, "JOB_ATTR",
                                                       "JOB_DATA_ID")
        self.deps_dao = jr_common.data_child_table_dao(db, schema, "JOB_DEPS",
                                                       "JOB_DATA_ID")
        self.run_users_dao = jr_common.data_child_table_dao(
            db, schema, "JOB_RUN_USERS", "JOB_DATA_ID")

        self.summary_fields = [
            'ID', 'JOBID', 'JOB_TYPE', 'JOB_USER', 'WALLTIME', 'PROCS',
            'NODES', 'PROJECT', 'LOCATION', 'MODE', 'QUEUE', 'DEP_FRAC',
            'COMMENT', 'RESID', 'EXIT_STATUS'
        ]
Example #2
0
	def __init__(self, db, schema):
		self.db = db

		metaoverride = {"ATTR":		{	"validator":	self.validate_attr },
						"DEPS":		{	"validator":	self.validate_deps },
						"RUN_USERS":{	"validator":	self.validate_run_users }}

		self.table = db2util.table(db, schema, "JOB_DATA", metaoverride)
		self.attr_dao = jr_common.data_child_table_dao(db, schema, "JOB_ATTR", "JOB_DATA_ID")
		self.deps_dao = jr_common.data_child_table_dao(db, schema, "JOB_DEPS", "JOB_DATA_ID")
		self.run_users_dao = jr_common.data_child_table_dao(db, schema, "JOB_RUN_USERS", "JOB_DATA_ID")

		self.summary_fields = [	'ID',
								'JOBID',
								'JOB_TYPE',
								'JOB_USER',
								'WALLTIME',
								'PROCS',
								'NODES',
								'PROJECT',
								'LOCATION',
								'MODE',
								'QUEUE',
								'DEP_FRAC',
								'COMMENT',
								'RESID',
								'EXIT_STATUS' ]
Example #3
0
    def __init__(self, dbName, username, password, schema):

        self.db = db2util.db()

        try:
            self.db.connect(dbName, username, password)
        except:
            #logger.error("Failed to open a connection to database %s as user %s" %(dbName, username))
            raise

        self.schema = schema

        table_names = [
            'RESERVATION_DATA', 'RESERVATION_PARTS', 'RESERVATION_EVENTS',
            'RESERVATION_USERS', 'RESERVATION_PROG', 'JOB_DATA', 'JOB_ATTR',
            'JOB_DEPS', 'JOB_EVENTS', 'JOB_COBALT_STATES', 'JOB_PROG',
            'JOB_SUMMARY'
        ]

        #Handle tables, There is probably a better way to do this.
        self.tables = {}
        self.daos = {}
        try:
            for table_name in table_names:
                #logger.info("Accessing table: %s" % table_name)
                self.tables[table_name] = db2util.table(
                    self.db, schema, table_name)

                if table_name in [
                        'RESERVATION_EVENTS', 'JOB_EVENTS', 'JOB_COBALT_STATES'
                ]:
                    self.daos[table_name] = StateTableData(
                        self.db, schema, self.tables[table_name].table)
                elif table_name == 'RESERVATION_DATA':
                    self.daos[table_name] = ResDataData(
                        self.db, schema, self.tables[table_name].table)

                elif table_name == 'JOB_DATA':
                    self.daos[table_name] = JobDataData(
                        self.db, schema, self.tables[table_name].table)
                elif table_name == 'JOB_DEPS':
                    self.daos[table_name] = JobDepsData(
                        self.db, schema, self.tables[table_name].table)
                elif table_name == 'JOB_PROG':
                    self.daos[table_name] = JobProgData(
                        self.db, schema, self.tables[table_name].table)
                elif table_name == 'JOB_SUMMARY':
                    self.daos[table_name] = JobSummaryData(
                        self.db, schema, self.tables[table_name].table)
                else:
                    self.daos[table_name] = AccessOnlyDAO(
                        self.db, schema, self.tables[table_name].table)
        except:
            #logger.error("Error accessing table %s!" % table_name)
            self.db.close()
            raise

        #we opened with a schema, let's make that the default for now.
        self.db.prepExec("set current schema %s" % schema)
Example #4
0
	def __init__(self, db, schema):
		self.db = db

		metaoverride = {"PARTS":	{	"validator":	self.validate_parts },
						"USERS":	{	"validator":	self.validate_users }}

		self.table = db2util.table(db, schema, "RESERVATION_DATA", metaoverride)
		self.parts_dao = jr_common.data_child_table_dao(db, schema, "RESERVATION_PARTS", "RES_DATA_ID")
		self.users_dao = jr_common.data_child_table_dao(db, schema, "RESERVATION_USERS", "RES_DATA_ID")
Example #5
0
   def __init__(self, dbName, username, password, schema):

      self.db = db2util.db()
      
      try:
         self.db.connect(dbName, username, password)
      except:
         #logger.error("Failed to open a connection to database %s as user %s" %(dbName, username))
         raise

      self.schema = schema

      table_names = ['RESERVATION_DATA', 'RESERVATION_PARTS',
                     'RESERVATION_EVENTS', 'RESERVATION_USERS',
                     'RESERVATION_PROG', 'JOB_DATA', 'JOB_ATTR',
                     'JOB_DEPS', 'JOB_EVENTS','JOB_COBALT_STATES', 'JOB_PROG',
                     'JOB_SUMMARY']

      #Handle tables, There is probably a better way to do this.
      self.tables = {}
      self.daos = {}
      try:
         for table_name in table_names:
            #logger.info("Accessing table: %s" % table_name)
            self.tables[table_name] = db2util.table(self.db, schema, table_name)
         
            if table_name in ['RESERVATION_EVENTS', 'JOB_EVENTS', 'JOB_COBALT_STATES']:
               self.daos[table_name] = StateTableData(self.db, schema, 
                                                      self.tables[table_name].table)
            elif table_name == 'RESERVATION_DATA':
               self.daos[table_name] = ResDataData(self.db, schema, 
                                                   self.tables[table_name].table)
            
            elif table_name == 'JOB_DATA':
               self.daos[table_name] = JobDataData(self.db, schema, 
                                                   self.tables[table_name].table)
            elif table_name == 'JOB_DEPS':
               self.daos[table_name] = JobDepsData(self.db, schema, 
                                                   self.tables[table_name].table)
            elif table_name == 'JOB_PROG':
               self.daos[table_name] = JobProgData(self.db, schema, 
                                                   self.tables[table_name].table)
            elif table_name == 'JOB_SUMMARY':
                self.daos[table_name] = JobSummaryData(self.db, schema,
                                                    self.tables[table_name].table)
            else:
               self.daos[table_name] = AccessOnlyDAO(self.db, schema, 
                                                   self.tables[table_name].table)
      except:
         #logger.error("Error accessing table %s!" % table_name)
         self.db.close()
         raise
         
      
      #we opened with a schema, let's make that the default for now.
      self.db.prepExec("set current schema %s" % schema)
Example #6
0
    def __init__(self, db, schema):
        self.db = db

        metaoverride = {
            "PARTS": {
                "validator": self.validate_parts
            },
            "USERS": {
                "validator": self.validate_users
            }
        }

        self.table = db2util.table(db, schema, "RESERVATION_DATA",
                                   metaoverride)
        self.parts_dao = jr_common.data_child_table_dao(
            db, schema, "RESERVATION_PARTS", "RES_DATA_ID")
        self.users_dao = jr_common.data_child_table_dao(
            db, schema, "RESERVATION_USERS", "RES_DATA_ID")