IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

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

add regtool -revertprocessedexp

File:
1 edited

Legend:

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

    r14097 r14098  
    3131#include "chiptool.h"
    3232
     33// imfile
    3334static bool pendingimfileMode(pxConfig *config);
    3435static bool addprocessedimfileMode(pxConfig *config);
     
    3637static bool revertprocessedimfileMode(pxConfig *config);
    3738static bool updateprocessedimfileMode(pxConfig *config);
    38 
     39// exp
    3940static bool pendingexpMode(pxConfig *config);
    4041static bool addprocessedexpMode(pxConfig *config);
    4142static bool processedexpMode(pxConfig *config);
     43static bool revertprocessedexpMode(pxConfig *config);
    4244static bool updateprocessedexpMode(pxConfig *config);
    4345
     
    7072
    7173    switch (config->mode) {
     74        // imfile
    7275        MODECASE(REGTOOL_MODE_PENDINGIMFILE,         pendingimfileMode);
    7376        MODECASE(REGTOOL_MODE_ADDPROCESSEDIMFILE,    addprocessedimfileMode);
     
    7578        MODECASE(REGTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileMode);
    7679        MODECASE(REGTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileMode);
     80        // exp
    7781        MODECASE(REGTOOL_MODE_PENDINGEXP,            pendingexpMode);
    7882        MODECASE(REGTOOL_MODE_ADDPROCESSEDEXP,       addprocessedexpMode);
    7983        MODECASE(REGTOOL_MODE_PROCESSEDEXP,          processedexpMode);
     84        MODECASE(REGTOOL_MODE_REVERTPROCESSEDEXP,    revertprocessedexpMode);
    8085        MODECASE(REGTOOL_MODE_UPDATEPROCESSEDEXP,    updateprocessedexpMode);
    8186        default:
     
    816821
    817822    psFree(output);
     823
     824    return true;
     825}
     826
     827static bool revertprocessedexpMode(pxConfig *config)
     828{
     829    PS_ASSERT_PTR_NON_NULL(config, false);
     830
     831    psString query = pxDataGet("regtool_revertprocessedexp.sql");
     832    if (!query) {
     833        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     834        return false;
     835    }
     836
     837    if (config->where) {
     838        psString whereClause = psDBGenerateWhereConditionSQL(config->where, "rawExp");
     839        psStringAppend(&query, " AND %s", whereClause);
     840        psFree(whereClause);
     841    }
     842
     843    if (!p_psDBRunQuery(config->dbh, query)) {
     844        psError(PS_ERR_UNKNOWN, false, "database error");
     845        psFree(query);
     846        return false;
     847    }
     848    psFree(query);
     849
     850    if (psDBAffectedRows(config->dbh) < 1) {
     851        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
     852        return false;
     853    }
    818854
    819855    return true;
Note: See TracChangeset for help on using the changeset viewer.