IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14100


Ignore:
Timestamp:
Jul 10, 2007, 11:36:32 AM (19 years ago)
Author:
jhoblitt
Message:

add camtool -revertprocessedexp

Location:
trunk/ippTools
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/share/Makefile.am

    r14099 r14100  
    44        camtool_find_processedexp.sql \
    55        camtool_queue_chip_id.sql \
     6        camtool_revertprocessedexp.sql \
    67        chiptool_completely_processed_exp.sql \
    78        chiptool_find_rawexp.sql \
  • trunk/ippTools/src/camtool.c

    r14023 r14100  
    3434static bool addprocessedexpMode(pxConfig *config);
    3535static bool processedexpMode(pxConfig *config);
     36static bool revertprocessedexpMode(pxConfig *config);
    3637static bool updateprocessedexpMode(pxConfig *config);
    3738static bool blockMode(pxConfig *config);
     
    6263        MODECASE(CAMTOOL_MODE_ADDPROCESSEDEXP,      addprocessedexpMode);
    6364        MODECASE(CAMTOOL_MODE_PROCESSEDEXP,         processedexpMode);
     65        MODECASE(CAMTOOL_MODE_REVERTPROCESSEDEXP,   revertprocessedexpMode);
    6466        MODECASE(CAMTOOL_MODE_UPDATEPROCESSEDEXP,   updateprocessedexpMode);
    6567        MODECASE(CAMTOOL_MODE_BLOCK,                blockMode);
     
    757759
    758760
     761static bool revertprocessedexpMode(pxConfig *config)
     762{
     763    PS_ASSERT_PTR_NON_NULL(config, false);
     764
     765    psString query = pxDataGet("camtool_revertprocessedexp.sql");
     766    if (!query) {
     767        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     768        return false;
     769    }
     770
     771    if (config->where) {
     772        psString whereClause = psDBGenerateWhereConditionSQL(config->where, "camProcessedExp");
     773        psStringAppend(&query, " AND %s", whereClause);
     774        psFree(whereClause);
     775    }
     776
     777    if (!p_psDBRunQuery(config->dbh, query)) {
     778        psError(PS_ERR_UNKNOWN, false, "database error");
     779        psFree(query);
     780        return false;
     781    }
     782    psFree(query);
     783
     784    if (psDBAffectedRows(config->dbh) < 1) {
     785        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
     786        return false;
     787    }
     788
     789    return true;
     790}
     791
     792
    759793static bool updateprocessedexpMode(pxConfig *config)
    760794{
  • trunk/ippTools/src/camtool.h

    r14018 r14100  
    3030    CAMTOOL_MODE_ADDPROCESSEDEXP,
    3131    CAMTOOL_MODE_PROCESSEDEXP,
     32    CAMTOOL_MODE_REVERTPROCESSEDEXP,
    3233    CAMTOOL_MODE_UPDATEPROCESSEDEXP,
    3334    CAMTOOL_MODE_BLOCK,
  • trunk/ippTools/src/camtoolConfig.c

    r14023 r14100  
    181181            "only return imfiles with a fault status set", false);
    182182
     183    // -revertprocessedexp
     184    psMetadata *revertprocessedexpArgs = psMetadataAlloc();
     185    psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-cam_id", 0,
     186            "search by camtool ID (required)", NULL);
     187    psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-chip_id", 0,
     188            "search by chiptool ID", NULL);
     189    psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-code",  0,
     190            "search by fault code", 0);
     191
    183192    // -updateprocessedexp
    184193    psMetadata *updateprocessedexpArgs = psMetadataAlloc();
     
    217226    PXTOOL_ADD_MODE("-addprocessedexp",     "", CAMTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs);
    218227    PXTOOL_ADD_MODE("-processedexp",        "", CAMTOOL_MODE_PROCESSEDEXP,  processedexpArgs);
     228    PXTOOL_ADD_MODE("-revertprocessedexp",  "", CAMTOOL_MODE_REVERTPROCESSEDEXP,  revertprocessedexpArgs);
    219229    PXTOOL_ADD_MODE("-updateprocessedexp",  "", CAMTOOL_MODE_UPDATEPROCESSEDEXP,updateprocessedexpArgs);
    220230    PXTOOL_ADD_MODE("-block",               "", CAMTOOL_MODE_BLOCK,         blockArgs);
     
    299309        }
    300310    }
    301     addWhereStr(class);
    302311    addWhereStr(class_id);
    303312    addWhereStr(filter);
     313
     314    // convert '-code' to 'fault'
     315    {
     316        psS16 fault = 0;
     317        bool status = false;
     318        if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
     319            if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
     320                psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     321                psFree(config);
     322                return NULL;
     323            }
     324        }
     325    }
    304326
    305327    if (psListLength(config->where->list) < 1) {
Note: See TracChangeset for help on using the changeset viewer.