static void deleteFromTables(char *db, struct sqlConnection *conn, struct sqlDeleter* deleter, unsigned srcDb, struct dbLoadOptions* options) /* deleted acc in a sqlDeleter from all tables. */ { /* order is important here */ gbAlignDataDeleteFromTables(db, conn, srcDb, GB_MRNA, deleter, options); gbAlignDataDeleteFromTables(db, conn, srcDb, GB_EST, deleter, options); gbMetaDataDeleteFromIdTables(conn, options, deleter); gbMetaDataDeleteFromTables(conn, options, srcDb, deleter); sqlDeleterDel(deleter, conn, "gbStatus", "acc"); }
void gbAlignDataDeleteOutdated(char *db, struct sqlConnection *conn, struct gbSelect* select, struct gbStatusTbl* statusTbl, struct dbLoadOptions* options, char *tmpDir) /* delete outdated alignment data */ { struct sqlDeleter* deleter = sqlDeleterNew(tmpDir, (gbVerbose >= 4)); struct gbStatus* status; /* delete seqChg, deleted, and orphans from alignments; clearing count of * number aligned. */ for (status = statusTbl->deleteList; status != NULL; status = status->next) { sqlDeleterAddAcc(deleter, status->acc); status->numAligns = 0; } for (status = statusTbl->seqChgList; status != NULL; status = status->next) { sqlDeleterAddAcc(deleter, status->acc); status->numAligns = 0; } for (status = statusTbl->orphanList; status != NULL; status = status->next) { sqlDeleterAddAcc(deleter, status->acc); status->numAligns = 0; } gbAlignDataDeleteFromTables(db, conn, select->release->srcDb, select->type, deleter, options); sqlDeleterFree(&deleter); }