예제 #1
0
def normIdByName(schema,normname):
    '''
    select max(DATA_ID) FROM LUMINORMSV2 WHERE ENTRY_NAME=:normname
    '''
    luminormids=[]
    result=None
    qHandle=schema.newQuery()
    try:
        qHandle.addToTableList( nameDealer.luminormv2TableName() )
        qHandle.addToOutputList('DATA_ID')
        if normname:
            qConditionStr='ENTRY_NAME=:normname '
            qCondition=coral.AttributeList()
            qCondition.extend('normname','string')
            qCondition['normname'].setData(normname)
        qResult=coral.AttributeList()
        qResult.extend('DATA_ID','unsigned long long')
        qHandle.defineOutput(qResult)
        if normname:
            qHandle.setCondition(qConditionStr,qCondition)
        cursor=qHandle.execute()
        while cursor.next():
            dataid=cursor.currentRow()['DATA_ID'].data()
            luminormids.append(dataid)
    except :
        del qHandle
        raise
    del qHandle
    if len(luminormids) !=0:
        return max(luminormids)    
    return result
예제 #2
0
def normIdByName(schema,normname):
    '''
    select max(DATA_ID) FROM LUMINORMSV2 WHERE ENTRY_NAME=:normname
    '''
    luminormids=[]
    result=None
    qHandle=schema.newQuery()
    try:
        qHandle.addToTableList( nameDealer.luminormv2TableName() )
        qHandle.addToOutputList('DATA_ID')
        if normname:
            qConditionStr='ENTRY_NAME=:normname '
            qCondition=coral.AttributeList()
            qCondition.extend('normname','string')
            qCondition['normname'].setData(normname)
        qResult=coral.AttributeList()
        qResult.extend('DATA_ID','unsigned long long')
        qHandle.defineOutput(qResult)
        if normname:
            qHandle.setCondition(qConditionStr,qCondition)
        cursor=qHandle.execute()
        while cursor.next():
            dataid=cursor.currentRow()['DATA_ID'].data()
            luminormids.append(dataid)
    except :
        del qHandle
        raise
    del qHandle
    if len(luminormids) !=0:
        return max(luminormids)    
    return result
예제 #3
0
def allNorms(schema):
    '''
    list all lumi norms
    select DATA_ID,ENTRY_NAME,LUMITYPE,ISTYPEDEFAULT,COMMENT,CTIME FROM LUMINORMSV2
    output:
    {normname:[data_id,lumitype,istypedefault,comment,creationtime]}
    '''
    result = {}
    qHandle = schema.newQuery()
    try:
        qHandle.addToTableList(nameDealer.luminormv2TableName())
        qHandle.addToOutputList('DATA_ID')
        qHandle.addToOutputList('ENTRY_NAME')
        qHandle.addToOutputList('LUMITYPE')
        qHandle.addToOutputList('ISTYPEDEFAULT')
        qHandle.addToOutputList('COMMENT')
        qHandle.addToOutputList('TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\')',
                                'creationtime')
        qResult = coral.AttributeList()
        qResult.extend('DATA_ID', 'unsigned long long')
        qResult.extend('ENTRY_NAME', 'string')
        qResult.extend('LUMITYPE', 'string')
        qResult.extend('ISTYPEDEFAULT', 'unsigned int')
        qResult.extend('COMMENT', 'string')
        qResult.extend('creationtime', 'string')
        qHandle.defineOutput(qResult)
        cursor = qHandle.execute()
        while cursor.next():
            normname = cursor.currentRow()['ENTRY_NAME'].data()
            if not result.has_key(normname):
                result[normname] = []
            dataid = cursor.currentRow()['DATA_ID'].data()
            lumitype = cursor.currentRow()['LUMITYPE'].data()
            istypedefault = cursor.currentRow()['ISTYPEDEFAULT'].data()
            comment = ''
            if not cursor.currentRow()['COMMENT'].isNull():
                comment = cursor.currentRow()['COMMENT'].data()
            creationtime = cursor.currentRow()['creationtime'].data()
            if len(result[normname]) == 0:
                result[normname] = [
                    dataid, lumitype, istypedefault, comment, creationtime
                ]
            elif len(result[normname]) != 0 and dataid > result[normname][0]:
                result[normname] = [
                    dataid, lumitype, istypedefault, comment, creationtime
                ]
    except:
        del qHandle
        raise
    del qHandle
    return result
예제 #4
0
def normInfoByName(schema, normname):
    '''
    select DATA_ID,LUMITYPE,ISTYPEDEFAULT,COMMENT,TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\') FROM LUMINORMS WHERE ENTRY_NAME=:normname
    output:
        [data_id[0],lumitype[1],istypedefault[2],comment[3],creationtime[4]]
    '''
    result = {}
    qHandle = schema.newQuery()
    try:
        qHandle.addToTableList(nameDealer.luminormv2TableName())
        qHandle.addToOutputList('DATA_ID')
        qHandle.addToOutputList('LUMITYPE')
        qHandle.addToOutputList('ISTYPEDEFAULT')
        qHandle.addToOutputList('COMMENT')
        qHandle.addToOutputList('TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\')', 'ctime')
        qConditionStr = 'ENTRY_NAME=:normname'
        qCondition = coral.AttributeList()
        qCondition.extend('normname', 'string')
        qCondition['normname'].setData(normname)
        qResult = coral.AttributeList()
        qResult.extend('DATA_ID', 'unsigned long long')
        qResult.extend('LUMITYPE', 'string')
        qResult.extend('ISTYPEDEFAULT', 'unsigned int')
        qResult.extend('COMMENT', 'string')
        qResult.extend('ctime', 'string')
        qHandle.defineOutput(qResult)
        qHandle.setCondition(qConditionStr, qCondition)
        cursor = qHandle.execute()
        while cursor.next():
            if not cursor.currentRow()['DATA_ID'].isNull():
                dataid = cursor.currentRow()['DATA_ID'].data()
            else:
                continue
            lumitype = cursor.currentRow()['LUMITYPE'].data()
            istypedefault = cursor.currentRow()['ISTYPEDEFAULT'].data()
            comment = ''
            if not cursor.currentRow()['COMMENT'].isNull():
                comment = cursor.currentRow()['COMMENT'].data()
            creationtime = cursor.currentRow()['ctime'].data()
            if not result.has_key(dataid):
                result[dataid] = [
                    dataid, lumitype, istypedefault, comment, creationtime
                ]
    except:
        del qHandle
        raise
    if len(result) > 0:
        maxdataid = max(result.keys())
        return result[maxdataid]
    return result
예제 #5
0
def normInfoByName(schema,normname):
    '''
    select DATA_ID,LUMITYPE,ISTYPEDEFAULT,COMMENT,TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\') FROM LUMINORMS WHERE ENTRY_NAME=:normname
    output:
        [data_id[0],lumitype[1],istypedefault[2],comment[3],creationtime[4]]
    '''
    result={}
    qHandle=schema.newQuery()
    try:
        qHandle.addToTableList( nameDealer.luminormv2TableName() )
        qHandle.addToOutputList('DATA_ID')
        qHandle.addToOutputList('LUMITYPE')
        qHandle.addToOutputList('ISTYPEDEFAULT')
        qHandle.addToOutputList('COMMENT')
        qHandle.addToOutputList('TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\')','ctime')
        qConditionStr='ENTRY_NAME=:normname'
        qCondition=coral.AttributeList()
        qCondition.extend('normname','string')
        qCondition['normname'].setData(normname)
        qResult=coral.AttributeList()
        qResult.extend('DATA_ID','unsigned long long')
        qResult.extend('LUMITYPE','string')
        qResult.extend('ISTYPEDEFAULT','unsigned int')
        qResult.extend('COMMENT','string')
        qResult.extend('ctime','string')
        qHandle.defineOutput(qResult)
        qHandle.setCondition(qConditionStr,qCondition)
        cursor=qHandle.execute()
        while cursor.next():
            if not cursor.currentRow()['DATA_ID'].isNull():
                dataid=cursor.currentRow()['DATA_ID'].data()
            else:
                continue
            lumitype=cursor.currentRow()['LUMITYPE'].data()
            istypedefault=cursor.currentRow()['ISTYPEDEFAULT'].data()
            comment=''
            if not cursor.currentRow()['COMMENT'].isNull():
                comment=cursor.currentRow()['COMMENT'].data()
            creationtime=cursor.currentRow()['ctime'].data()
            if not result.has_key(dataid):
                result[dataid]=[dataid,lumitype,istypedefault,comment,creationtime]
    except :
        del qHandle
        raise
    if len(result)>0:
        maxdataid=max(result.keys())
        return result[maxdataid]
    return result
예제 #6
0
def allNorms(schema):
    '''
    list all lumi norms
    select DATA_ID,ENTRY_NAME,LUMITYPE,ISTYPEDEFAULT,COMMENT,CTIME FROM LUMINORMSV2
    output:
    {normname:[data_id,lumitype,istypedefault,comment,creationtime]}
    '''
    result={}
    qHandle=schema.newQuery()
    try:
        qHandle.addToTableList( nameDealer.luminormv2TableName() )
        qHandle.addToOutputList('DATA_ID')
        qHandle.addToOutputList('ENTRY_NAME')
        qHandle.addToOutputList('LUMITYPE')
        qHandle.addToOutputList('ISTYPEDEFAULT')
        qHandle.addToOutputList('COMMENT')
        qHandle.addToOutputList('TO_CHAR(CTIME,\'MM/DD/YY HH24:MI\')','creationtime')
        qResult=coral.AttributeList()
        qResult.extend('DATA_ID','unsigned long long')
        qResult.extend('ENTRY_NAME','string')
        qResult.extend('LUMITYPE','string')
        qResult.extend('ISTYPEDEFAULT','unsigned int')
        qResult.extend('COMMENT','string')
        qResult.extend('creationtime','string')        
        qHandle.defineOutput(qResult)
        cursor=qHandle.execute()
        while cursor.next():
            normname=cursor.currentRow()['ENTRY_NAME'].data()
            if not result.has_key(normname):
                result[normname]=[]
            dataid=cursor.currentRow()['DATA_ID'].data()
            lumitype=cursor.currentRow()['LUMITYPE'].data()
            istypedefault=cursor.currentRow()['ISTYPEDEFAULT'].data()
            comment=''
            if not cursor.currentRow()['COMMENT'].isNull():
                comment=cursor.currentRow()['COMMENT'].data()
            creationtime=cursor.currentRow()['creationtime'].data()
            if len(result[normname])==0:
                result[normname]=[dataid,lumitype,istypedefault,comment,creationtime]
            elif len(result[normname])!=0 and dataid>result[normname][0]:
                result[normname]=[dataid,lumitype,istypedefault,comment,creationtime]
    except :
        del qHandle
        raise
    del qHandle
    return result
예제 #7
0
def demoteNormFromTypeDefault(schema,normname,lumitype):
    '''
    demote norm from typedefault to non default
    '''
    try:
        thisnormid=normIdByName(schema,normname)
        if not thisnormid:
            raise ValueError(normname+' does not exist, nothing to update')
        setClause='ISTYPEDEFAULT=0'
        updateCondition='DATA_ID=:thisnormid AND LUMITYPE=:lumitype'
        inputData=coral.AttributeList()
        inputData.extend('thisnormid','unsigned long long')
        inputData.extend('LUMITYPE','string')
        inputData['thisnormid'].setData(thisnormid)
        inputData['LUMITYPE'].setData(lumitype)
        db=dbUtil.dbUtil(schema)
        db.singleUpdate(nameDealer.luminormv2TableName(),setClause,updateCondition,inputData)
    except :
        raise
예제 #8
0
def demoteNormFromTypeDefault(schema,normname,lumitype):
    '''
    demote norm from typedefault to non default
    '''
    try:
        thisnormid=normIdByName(schema,normname)
        if not thisnormid:
            raise ValueError(normname+' does not exist, nothing to update')
        setClause='ISTYPEDEFAULT=0'
        updateCondition='DATA_ID=:thisnormid AND LUMITYPE=:lumitype'
        inputData=coral.AttributeList()
        inputData.extend('thisnormid','unsigned long long')
        inputData.extend('LUMITYPE','string')
        inputData['thisnormid'].setData(thisnormid)
        inputData['LUMITYPE'].setData(lumitype)
        db=dbUtil.dbUtil(schema)
        db.singleUpdate(nameDealer.luminormv2TableName(),setClause,updateCondition,inputData)
    except :
        raise
예제 #9
0
def createNorm(schema,
               normname,
               lumitype,
               istypedefault,
               branchinfo,
               comment=''):
    '''
    branchinfo(normrevisionid,branchname)    
    '''
    try:
        entry_id = revisionDML.entryInBranch(schema,
                                             nameDealer.luminormv2TableName(),
                                             normname, branchinfo[1])
        if entry_id is None:
            (revision_id, entry_id, data_id) = revisionDML.bookNewEntry(
                schema, nameDealer.luminormv2TableName())
            entryinfo = (revision_id, entry_id, normname, data_id)
            revisionDML.addEntry(schema, nameDealer.luminormv2TableName(),
                                 entryinfo, branchinfo)
        else:
            (revision_id, data_id) = revisionDML.bookNewRevision(
                schema, nameDealer.luminormv2TableName())
            revisionDML.addRevision(schema, nameDealer.luminormv2TableName(),
                                    (revision_id, data_id), branchinfo)
        tabrowDefDict = {
            'DATA_ID': 'unsigned long long',
            'ENTRY_ID': 'unsigned long long',
            'ENTRY_NAME': 'string',
            'LUMITYPE': 'string',
            'ISTYPEDEFAULT': 'unsigned int',
            'COMMENT': 'string',
            'CTIME': 'time stamp'
        }
        tabrowValueDict = {
            'DATA_ID': data_id,
            'ENTRY_ID': entry_id,
            'ENTRY_NAME': normname,
            'LUMITYPE': lumitype,
            'ISTYPEDEFAULT': istypedefault,
            'COMMENT': comment,
            'CTIME': coral.TimeStamp()
        }
        db = dbUtil.dbUtil(schema)
        db.insertOneRow(nameDealer.luminormv2TableName(), tabrowDefDict,
                        tabrowValueDict)
        return (revision_id, entry_id, data_id)
    except:
        raise
예제 #10
0
def normIdByType(schema,lumitype='HF',defaultonly=True):
    '''
    select max(DATA_ID) FROM LUMINORMSV2 WHERE LUMITYPE=:lumitype
    output:
        luminormidmap {normname:normid}
    '''
    luminormidmap={}
    qHandle=schema.newQuery()
    try:
        qHandle.addToTableList( nameDealer.luminormv2TableName() )
        qHandle.addToOutputList('DATA_ID')
        qHandle.addToOutputList('ENTRY_NAME')
        qConditionStr='LUMITYPE=:lumitype'
        qCondition=coral.AttributeList()
        qCondition.extend('lumitype','string')
        qCondition['lumitype'].setData(lumitype)
        if defaultonly:
            qConditionStr+=' AND ISTYPEDEFAULT=:istypedefault'
            qCondition.extend('istypedefault','unsigned int')
            qCondition['istypedefault'].setData(int(1))
        qResult=coral.AttributeList()
        qResult.extend('DATA_ID','unsigned long long')
        qResult.extend('ENTRY_NAME','string')
        qHandle.defineOutput(qResult)
        qHandle.setCondition(qConditionStr,qCondition)
        cursor=qHandle.execute()
        while cursor.next():
            if not cursor.currentRow()['DATA_ID'].isNull():
                dataid=cursor.currentRow()['DATA_ID'].data()
                normname=cursor.currentRow()['ENTRY_NAME'].data()
                if normname not in luminormidmap:
                    luminormidmap[normname]=dataid
                else:
                    if dataid>luminormidmap[normname]:
                        luminormidmap[normname]=dataid
    except :
        del qHandle
        raise
    del qHandle
    return luminormidmap
예제 #11
0
def normIdByType(schema,lumitype='HF',defaultonly=True):
    '''
    select max(DATA_ID) FROM LUMINORMSV2 WHERE LUMITYPE=:lumitype
    output:
        luminormidmap {normname:normid}
    '''
    luminormidmap={}
    qHandle=schema.newQuery()
    try:
        qHandle.addToTableList( nameDealer.luminormv2TableName() )
        qHandle.addToOutputList('DATA_ID')
        qHandle.addToOutputList('ENTRY_NAME')
        qConditionStr='LUMITYPE=:lumitype'
        qCondition=coral.AttributeList()
        qCondition.extend('lumitype','string')
        qCondition['lumitype'].setData(lumitype)
        if defaultonly:
            qConditionStr+=' AND ISTYPEDEFAULT=:istypedefault'
            qCondition.extend('istypedefault','unsigned int')
            qCondition['istypedefault'].setData(int(1))
        qResult=coral.AttributeList()
        qResult.extend('DATA_ID','unsigned long long')
        qResult.extend('ENTRY_NAME','string')
        qHandle.defineOutput(qResult)
        qHandle.setCondition(qConditionStr,qCondition)
        cursor=qHandle.execute()
        while cursor.next():
            if not cursor.currentRow()['DATA_ID'].isNull():
                dataid=cursor.currentRow()['DATA_ID'].data()
                normname=cursor.currentRow()['ENTRY_NAME'].data()
                if not luminormidmap.has_key(normname):
                    luminormidmap[normname]=dataid
                else:
                    if dataid>luminormidmap[normname]:
                        luminormidmap[normname]=dataid
    except :
        del qHandle
        raise
    del qHandle
    return luminormidmap
예제 #12
0
def createNorm(schema,normname,lumitype,istypedefault,branchinfo,comment=''):
    '''
    branchinfo(normrevisionid,branchname)    
    '''
    try:
        entry_id=revisionDML.entryInBranch(schema,nameDealer.luminormv2TableName(),normname,branchinfo[1])
        if entry_id is None:
            (revision_id,entry_id,data_id)=revisionDML.bookNewEntry(schema,nameDealer.luminormv2TableName())
            entryinfo=(revision_id,entry_id,normname,data_id)
            revisionDML.addEntry(schema,nameDealer.luminormv2TableName(),entryinfo,branchinfo)
        else:
            (revision_id,data_id)=revisionDML.bookNewRevision( schema,nameDealer.luminormv2TableName() )
            revisionDML.addRevision(schema,nameDealer.luminormv2TableName(),(revision_id,data_id),branchinfo)
        tabrowDefDict={'DATA_ID':'unsigned long long','ENTRY_ID':'unsigned long long','ENTRY_NAME':'string','LUMITYPE':'string','ISTYPEDEFAULT':'unsigned int','COMMENT':'string','CTIME':'time stamp'}
        tabrowValueDict={'DATA_ID':data_id,'ENTRY_ID':entry_id,'ENTRY_NAME':normname,'LUMITYPE':lumitype,'ISTYPEDEFAULT':istypedefault,'COMMENT':comment,'CTIME':coral.TimeStamp()}
        db=dbUtil.dbUtil(schema)
        db.insertOneRow(nameDealer.luminormv2TableName(),tabrowDefDict,tabrowValueDict)
        return (revision_id,entry_id,data_id)
    except :
        raise