コード例 #1
0
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");
}
コード例 #2
0
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);
}