def makeLockSchema(inSchema): """ Create a self-contained schema just for L{Locker} use, in C{inSchema}. @param inSchema: a L{Schema} to add the locks table to. @type inSchema: L{Schema} @return: inSchema """ LockTable = Table(inSchema, 'NAMED_LOCK') LockTable.addColumn("LOCK_NAME", SQLType("varchar", 255)) LockTable.tableConstraint(Constraint.NOT_NULL, ["LOCK_NAME"]) LockTable.tableConstraint(Constraint.UNIQUE, ["LOCK_NAME"]) LockTable.primaryKey = [LockTable.columnNamed("LOCK_NAME")] return inSchema
def makeLockSchema(inSchema): """ Create a self-contained schema just for L{Locker} use, in C{inSchema}. @param inSchema: a L{Schema} to add the locks table to. @type inSchema: L{Schema} @return: inSchema """ LockTable = Table(inSchema, "NAMED_LOCK") LockTable.addColumn("LOCK_NAME", SQLType("varchar", 255)) LockTable.tableConstraint(Constraint.NOT_NULL, ["LOCK_NAME"]) LockTable.tableConstraint(Constraint.UNIQUE, ["LOCK_NAME"]) LockTable.primaryKey = [LockTable.columnNamed("LOCK_NAME")] return inSchema
def makeJobSchema(inSchema): """ Create a self-contained schema for L{JobInfo} to use, in C{inSchema}. @param inSchema: a L{Schema} to add the job table to. @type inSchema: L{Schema} @return: a schema with just the one table. """ # Initializing this duplicate schema avoids a circular dependency, but this # should really be accomplished with independent schema objects that the # transaction is made aware of somehow. JobTable = Table(inSchema, "JOB") JobTable.addColumn("JOB_ID", SQLType("integer", None), default=Sequence(inSchema, "JOB_SEQ"), notNull=True, primaryKey=True) JobTable.addColumn("WORK_TYPE", SQLType("varchar", 255), notNull=True) JobTable.addColumn("PRIORITY", SQLType("integer", 0), default=0, notNull=True) JobTable.addColumn("WEIGHT", SQLType("integer", 0), default=0, notNull=True) JobTable.addColumn("NOT_BEFORE", SQLType("timestamp", None), notNull=True) JobTable.addColumn("IS_ASSIGNED", SQLType("integer", 0), default=0, notNull=True) JobTable.addColumn("ASSIGNED", SQLType("timestamp", None), default=None) JobTable.addColumn("OVERDUE", SQLType("timestamp", None), default=None) JobTable.addColumn("FAILED", SQLType("integer", 0), default=0, notNull=True) JobTable.addColumn("PAUSE", SQLType("integer", 0), default=0, notNull=True) return inSchema