IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 10, 2007, 10:23:17 AM (19 years ago)
Author:
jhoblitt
Message:

add regtool -revertprocessedimfile

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/regtool.c

    r14091 r14097  
    3434static bool addprocessedimfileMode(pxConfig *config);
    3535static bool processedimfileMode(pxConfig *config);
     36static bool revertprocessedimfileMode(pxConfig *config);
    3637static bool updateprocessedimfileMode(pxConfig *config);
    3738
     
    7273        MODECASE(REGTOOL_MODE_ADDPROCESSEDIMFILE,    addprocessedimfileMode);
    7374        MODECASE(REGTOOL_MODE_PROCESSEDIMFILE,       processedimfileMode);
     75        MODECASE(REGTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileMode);
    7476        MODECASE(REGTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileMode);
    7577        MODECASE(REGTOOL_MODE_PENDINGEXP,            pendingexpMode);
     
    402404
    403405    psFree(output);
     406
     407    return true;
     408}
     409
     410
     411static bool revertprocessedimfileMode(pxConfig *config)
     412{
     413    PS_ASSERT_PTR_NON_NULL(config, false);
     414
     415    psString query = pxDataGet("regtool_revertprocessedimfile.sql");
     416    if (!query) {
     417        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     418        return false;
     419    }
     420
     421    if (config->where) {
     422        psString whereClause = psDBGenerateWhereConditionSQL(config->where, "rawImfile");
     423        psStringAppend(&query, " AND %s", whereClause);
     424        psFree(whereClause);
     425    }
     426
     427    if (!p_psDBRunQuery(config->dbh, query)) {
     428        psError(PS_ERR_UNKNOWN, false, "database error");
     429        psFree(query);
     430        return false;
     431    }
     432    psFree(query);
     433
     434    if (psDBAffectedRows(config->dbh) < 1) {
     435        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
     436        return false;
     437    }
    404438
    405439    return true;
Note: See TracChangeset for help on using the changeset viewer.