53 lines
2.6 KiB
Python
53 lines
2.6 KiB
Python
# Called by normalizeGfe.sh to parse the distinct parmIds into table insert
|
|
import sys
|
|
from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.db.objects import ParmID
|
|
from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.db.objects import DatabaseID
|
|
|
|
fileName = sys.argv[1]
|
|
f = open(fileName, 'r')
|
|
dbIdInsertFile = open('dbIdInserts.sql', 'w')
|
|
parmIdInsertFile = open('parmIdInserts.sql', 'w')
|
|
recordUpdateFile = open('gfeToParmIdUpdates.sql', 'w')
|
|
|
|
dbIds={}
|
|
parmIds={}
|
|
dbIdCounter = 1
|
|
parmIdCounter = 1
|
|
|
|
for parmIdString in f:
|
|
# Strip new line
|
|
parmIdString = parmIdString.strip()
|
|
|
|
# skip last line of file that's empty
|
|
if len(parmIdString.strip()) > 0:
|
|
if not parmIds.has_key(parmIdString):
|
|
parmIds[parmIdString] = parmIdCounter
|
|
parmId = ParmID(parmIdString)
|
|
dbId = parmId.getDbId()
|
|
dbIdString = dbId.getModelId()
|
|
|
|
if not dbIds.has_key(dbIdString):
|
|
dbIds[dbIdString] = dbIdCounter
|
|
dbIdInsertFile.write("INSERT INTO gfe_dbid (id, dbtype, format, modelname, modeltime, siteid) VALUES (" +
|
|
str(dbIdCounter) + ", '" + dbId.getDbType() + "', '" + dbId.getFormat() + "', '" +
|
|
dbId.getModelName() + "', '" + dbId.getModelTime() + "', '" + dbId.getSiteId() + "');\n")
|
|
dbIdCounter += 1
|
|
dbIdVal = dbIds[dbIdString]
|
|
parmIdInsertFile.write("INSERT INTO gfe_parmid (id, parmlevel, parmname, dbid_id) VALUES (" +
|
|
str(parmIdCounter) + ", '" + parmId.getParmLevel() + "', '" +
|
|
parmId.getParmName() + "', " + str(dbIdVal) + ");\n")
|
|
recordUpdateFile.write("UPDATE gfe set parmId_id = " + str(parmIdCounter) +
|
|
" WHERE parmId = '" + parmIdString + "';\n")
|
|
parmIdCounter+=1
|
|
else:
|
|
# should never happen if query feeding this is using distinct
|
|
print "Received duplicate parmId: " + parmIdString
|
|
|
|
dbIdInsertFile.write("CREATE SEQUENCE gfe_dbid_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START "
|
|
+ str((dbIdCounter / 50) + 1) + " CACHE 1;\nALTER TABLE gfe_dbid_seq OWNER TO awips;")
|
|
parmIdInsertFile.write("CREATE SEQUENCE gfe_parmid_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START "
|
|
+ str((parmIdCounter / 50) + 1) + " CACHE 1;\nALTER TABLE gfe_parmid_seq OWNER TO awips;")
|
|
f.close()
|
|
dbIdInsertFile.close()
|
|
parmIdInsertFile.close()
|
|
recordUpdateFile.close()
|