void gbMetaDataDbLoad(struct sqlConnection *conn) /* load the metadata changes into the database */ { struct sqlUpdater *nextUpd; /* this should never have been called if these tables not set up */ assert(imageCloneTbl != NULL); assert(seqTbl != NULL); /* seq must be first */ seqTblCommit(seqTbl, conn); seqTblFree(&seqTbl); /* unique string tables next, before mrna */ gbMDParseCommit(conn); /* image ids are loaded next */ imageCloneTblCommit(imageCloneTbl, conn); /* other metadata */ while ((nextUpd = slPopHead(&allUpdaters)) != NULL) { sqlUpdaterCommit(nextUpd, conn); sqlUpdaterFree(&nextUpd); } gbCdnaInfoUpd = NULL; refSeqStatusUpd = NULL; refSeqSummaryUpd = NULL; refLinkUpd = NULL; gbMiscDiffUpd = NULL; gbWarnUpd = NULL; /* cache unique string tables in goFaster mode */ if ((gOptions->flags & DBLOAD_GO_FASTER) == 0) gbMDParseFree(); }
static void makeRepairs(struct brokenRefPepTbl *brpTbl, struct sqlConnection *conn, struct extFileTbl* extFileTbl, boolean dryRun) /* make repairs once data is collected */ { static char *tmpDir = "/var/tmp"; struct hashCookie cookie; struct hashEl *hel; int repairCnt = 0; int dropCnt = 0; struct seqTbl* seqTbl = seqTblNew(conn, tmpDir, (gbVerbose > 3)); struct sqlDeleter* seqTblDeleter = sqlDeleterNew(tmpDir, (gbVerbose > 3)); cookie = hashFirst(brpTbl->protAccHash); while ((hel = hashNext(&cookie)) != NULL) { struct brokenRefPep *brp = hel->val; if ((brp->mrnaAcc != NULL) && (brp->newFaOff >= 0)) { refPepRepairOne(conn, brp, seqTbl, extFileTbl, dryRun); repairCnt++; } else { refPepDropOne(conn, brp, seqTblDeleter, dryRun); dropCnt++; } } if (dryRun) { gbVerbMsg(1, "%s: would have repaired %d refseq protein gbExtFile entries", sqlGetDatabase(conn), repairCnt); gbVerbMsg(1, "%s: would have dropped %d refseq protein gbExtFile entries", sqlGetDatabase(conn), dropCnt); } else { seqTblCommit(seqTbl, conn); gbVerbMsg(1, "%s: repaired %d refseq protein gbExtFile entries", sqlGetDatabase(conn), repairCnt); sqlDeleterDel(seqTblDeleter, conn, SEQ_TBL, "acc"); gbVerbMsg(1, "%s: dropped %d refseq protein gbExtFile entries", sqlGetDatabase(conn), dropCnt); } }