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
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
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
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
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
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
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
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
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
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