Ejemplo n.º 1
0
def dropTables(schema,tablelist):
    try:
        db=dbUtil.dbUtil(schema)
        for tablename in tablelist:
            if tablename in [nameDealer.luminormTableName(),nameDealer.lumidataTableName(),nameDealer.trgdataTableName(),nameDealer.hltdataTableName()]:
                db.dropTable( nameDealer.idTableName(tablename) )
                db.dropTable( nameDealer.entryTableName(tablename) )
                db.dropTable( nameDealer.revmapTableName(tablename) )            
            if tablename in [nameDealer.trgTableName(),nameDealer.lumisummaryTableName(),nameDealer.lumisummaryv2TableName(),nameDealer.lumidetailTableName(),nameDealer.hltTableName()]:
                db.dropTable( nameDealer.idTableName(tablename) )
            db.dropTable( tablename )
    except :
        raise 
Ejemplo n.º 2
0
def addEntry(schema,datatableName,entryinfo,branchinfo):
    '''
    input:
        entryinfo (revision_id(0),entry_id(1),entry_name(2),data_id(3))
        branchinfo (branch_id,branch_name)
    1.allocate and insert a new revision into the revisions table
    2.allocate and insert a new entry into the entry table with the new revision
    3.inset into data_rev table with new data_id ,revision)id mapping
    
    insert into revisions(revision_id,branch_id,branch_name,comment,ctime) values()
    insert into datatablename_entries (entry_id,revision_id) values()
    insert into datatablename_rev(data_id,revision_id) values()
    '''
    try:
        revisiontableName=nameDealer.revisionTableName()
        entrytableName=nameDealer.entryTableName(datatableName)
        revtableName=nameDealer.revmapTableName(datatableName)
        
        db=dbUtil.dbUtil(schema)
        tabrowDefDict={}
        tabrowDefDict['REVISION_ID']='unsigned long long'
        tabrowDefDict['BRANCH_ID']='unsigned long long'
        tabrowDefDict['BRANCH_NAME']='string'
        tabrowDefDict['CTIME']='time stamp'
        tabrowValueDict={}
        tabrowValueDict['REVISION_ID']=entryinfo[0]
        tabrowValueDict['BRANCH_ID']=branchinfo[0]
        tabrowValueDict['BRANCH_NAME']=branchinfo[1]
        tabrowValueDict['CTIME']=coral.TimeStamp()
        db.insertOneRow(revisiontableName,tabrowDefDict,tabrowValueDict)
        
        tabrowDefDict={}
        tabrowDefDict['REVISION_ID']='unsigned long long'
        tabrowDefDict['ENTRY_ID']='unsigned long long'    
        tabrowDefDict['NAME']='string'
        
        tabrowValueDict={}
        tabrowValueDict['REVISION_ID']=entryinfo[0]
        tabrowValueDict['ENTRY_ID']=entryinfo[1]
        tabrowValueDict['NAME']=entryinfo[2]
        db.insertOneRow(entrytableName,tabrowDefDict,tabrowValueDict)
    
        tabrowDefDict={}
        tabrowDefDict['REVISION_ID']='unsigned long long'
        tabrowDefDict['DATA_ID']='unsigned long long'
        tabrowValueDict={}
        tabrowValueDict['REVISION_ID']=entryinfo[0]
        tabrowValueDict['DATA_ID']=entryinfo[3]
        db.insertOneRow(revtableName,tabrowDefDict,tabrowValueDict)
    except:
        raise
Ejemplo n.º 3
0
def dataRevisionsOfEntry(schema,datatableName,entry,revrange):
    '''
    all data version of the given entry whose revision falls in branch revision range
    select d.data_id,r.revision_id from datatable d, datarevmaptable r where d.entry_id(or name )=:entry and d.data_id=r.data_id
    input: if isinstance(entry,str): d.entry_name=:entry ; else d.entry_id=:entry
    output: [data_id]
    '''
    qHandle=schema.newQuery()
    try:
        result=[]
        byname=False
        if isinstance(entry,str):
            byname=True
        qHandle.addToTableList( datatableName,'d' )
        qHandle.addToTableList( nameDealer.revmapTableName(datatableName), 'r')
        qHandle.addToOutputList('d.DATA_ID','data_id')
        qHandle.addToOutputList('r.REVISION_ID','revision_id')
        qCondition=coral.AttributeList()
        qConditionStr='d.DATA_ID=r.DATA_ID and '
        if byname:
            qCondition.extend('entry_name','string')
            qCondition['entry_name'].setData(entry)
            qConditionStr+='d.ENTRY_NAME=:entry_name'
        else:
            qCondition.extend('entry_id','unsigned long long')
            qCondition['entry_id'].setData(entry)
            qConditionStr+='d.ENTRY_ID=:entry_id'
        qResult=coral.AttributeList()
        qResult.extend('data_id','unsigned long long')
        qResult.extend('revision_id','unsigned long long')
        qHandle.defineOutput(qResult)
        qHandle.setCondition(qConditionStr,qCondition)
        cursor=qHandle.execute()
        while next(cursor):
            data_id=cursor.currentRow()['data_id'].data()
            revision_id=cursor.currentRow()['revision_id'].data()
            if revision_id in revrange:
                result.append(data_id)
        return result
    except :
        del qHandle
        raise
Ejemplo n.º 4
0
 def createRevMapTable( self, tableName, deleteOld=True ):
     """
     Create Rev table  for the given table.\n
     Input: name of the table
     Output: name of the id table 
     """
     try:
       revmaptableName=nameDealer.revmapTableName(tableName)
       if deleteOld is True:
         self.__schema.dropIfExistsTable(revmaptableName)
       else:
         if self.__schema.existsTable(revmaptableName):
            print 'table '+revmaptableName+' exists, do nothing'
            return
       description = coral.TableDescription()
       description.setName( revmaptableName )
       description.insertColumn( 'DATA_ID','unsigned long long')
       description.insertColumn( 'REVISION_ID' ,'unsigned long long')
       tableHandle=self.__schema.createTable( description )
       tableHandle.privilegeManager().grantToPublic(coral.privilege_Select)
     except Exception, e:
       raise RuntimeError(' dbUtil.createRevMapTable '+str(e))     
Ejemplo n.º 5
0
def addRevision(schema,datatableName,revisioninfo,branchinfo):
    '''
    1.insert a new revision into the revisions table
    2.insert into data_id, revision_id pair to  datatable_revmap
    insert into revisions(revision_id,branch_id,branch_name,ctime) values()
    insert into datatable_rev(data_id,revision_id) values())
    input:
         revisioninfo (revision_id(0),data_id(1))
         branchinfo  (branch_id(0),branch_name(1))
    '''
    try:
        revisiontableName=nameDealer.revisionTableName()
        revtableName=nameDealer.revmapTableName(datatableName)
        
        db=dbUtil.dbUtil(schema)
        tabrowDefDict={}
        tabrowDefDict['REVISION_ID']='unsigned long long'
        tabrowDefDict['BRANCH_ID']='unsigned long long'
        tabrowDefDict['BRANCH_NAME']='string'
        tabrowDefDict['CTIME']='time stamp'

        tabrowValueDict={}
        tabrowValueDict['REVISION_ID']=revisioninfo[0]
        tabrowValueDict['BRANCH_ID']=branchinfo[0]
        tabrowValueDict['BRANCH_NAME']=branchinfo[1]
        tabrowValueDict['CTIME']=coral.TimeStamp()
        
        db.insertOneRow(revisiontableName,tabrowDefDict,tabrowValueDict)
        
        tabrowDefDict={}
        tabrowDefDict['REVISION_ID']='unsigned long long'
        tabrowDefDict['DATA_ID']='unsigned long long'
        tabrowValueDict={}
        tabrowValueDict['REVISION_ID']=revisioninfo[0]
        tabrowValueDict['DATA_ID']=revisioninfo[1]
        db.insertOneRow(revtableName,tabrowDefDict,tabrowValueDict)
    except:
        raise    
Ejemplo n.º 6
0
def dropTables(schema, tablelist):
    try:
        db = dbUtil.dbUtil(schema)
        for tablename in tablelist:
            if tablename in [
                    nameDealer.luminormTableName(),
                    nameDealer.lumidataTableName(),
                    nameDealer.trgdataTableName(),
                    nameDealer.hltdataTableName()
            ]:
                db.dropTable(nameDealer.idTableName(tablename))
                db.dropTable(nameDealer.entryTableName(tablename))
                db.dropTable(nameDealer.revmapTableName(tablename))
            if tablename in [
                    nameDealer.trgTableName(),
                    nameDealer.lumisummaryTableName(),
                    nameDealer.lumisummaryv2TableName(),
                    nameDealer.lumidetailTableName(),
                    nameDealer.hltTableName()
            ]:
                db.dropTable(nameDealer.idTableName(tablename))
            db.dropTable(tablename)
    except:
        raise