IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14099


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

add chiptool -revertprocessedimfile

Location:
trunk/ippTools
Files:
1 added
5 edited

Legend:

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

    r14098 r14099  
    99        chiptool_pendingimfile.sql \
    1010        chiptool_processedimfile.sql \
     11        chiptool_revertprocessedimfile.sql \
    1112        detselect_search.sql \
    1213        detselect_select.sql \
  • trunk/ippTools/src/chiptool.c

    r14023 r14099  
    3838static bool addprocessedimfileMode(pxConfig *config);
    3939static bool processedimfileMode(pxConfig *config);
     40static bool revertprocessedimfileMode(pxConfig *config);
    4041static bool updateprocessedimfileMode(pxConfig *config);
    4142static bool blockMode(pxConfig *config);
     
    6667        MODECASE(CHIPTOOL_MODE_ADDPROCESSEDIMFILE,      addprocessedimfileMode);
    6768        MODECASE(CHIPTOOL_MODE_PROCESSEDIMFILE,         processedimfileMode);
     69        MODECASE(CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,   revertprocessedimfileMode);
    6870        MODECASE(CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,updateprocessedimfileMode);
    6971        MODECASE(CHIPTOOL_MODE_BLOCK,                   blockMode);
     
    671673}
    672674
     675static bool revertprocessedimfileMode(pxConfig *config)
     676{
     677    PS_ASSERT_PTR_NON_NULL(config, false);
     678
     679    psString query = pxDataGet("chiptool_revertprocessedimfile.sql");
     680    if (!query) {
     681        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     682        return false;
     683    }
     684
     685    if (config->where) {
     686        psString whereClause = psDBGenerateWhereConditionSQL(config->where, "chipProcessedImfile");
     687        psStringAppend(&query, " AND %s", whereClause);
     688        psFree(whereClause);
     689    }
     690
     691    if (!p_psDBRunQuery(config->dbh, query)) {
     692        psError(PS_ERR_UNKNOWN, false, "database error");
     693        psFree(query);
     694        return false;
     695    }
     696    psFree(query);
     697
     698    if (psDBAffectedRows(config->dbh) < 1) {
     699        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
     700        return false;
     701    }
     702
     703    return true;
     704}
    673705
    674706static bool updateprocessedimfileMode(pxConfig *config)
  • trunk/ippTools/src/chiptool.h

    r14018 r14099  
    2929    CHIPTOOL_MODE_ADDPROCESSEDIMFILE,
    3030    CHIPTOOL_MODE_PROCESSEDIMFILE,
     31    CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,
    3132    CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,
    3233    CHIPTOOL_MODE_BLOCK,
  • trunk/ippTools/src/chiptoolConfig.c

    r14023 r14099  
    108108    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    109109            "search by exposure ID", NULL);
    110     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-class",  0,
    111             "search by class", NULL);
    112110    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    113111            "search by class ID", NULL);
     
    183181    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    184182            "define exposure ID", NULL);
    185     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class",  0,
    186             "define class", NULL);
    187183    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    188184            "define class ID", NULL);
     
    206202    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    207203            "search by exposure ID", NULL);
    208     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class",  0,
    209             "search by class", NULL);
    210204    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    211205            "search by class ID", NULL);
    212206    psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
    213             "set fault code (required)", INT16_MAX);
    214 
    215     // -retryprocessedimfile
    216     psMetadata *retryprocessedimfileArgs = psMetadataAlloc();
    217     psMetadataAddStr(retryprocessedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,
     207            "set fault code (required)", 0);
     208
     209    // -revertprocessedimfile
     210    psMetadata *revertprocessedimfileArgs = psMetadataAlloc();
     211    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,
    218212            "define chip ID (required)", NULL);
    219     psMetadataAddStr(retryprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
     213    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    220214            "search by exposure ID", NULL);
    221     psMetadataAddStr(retryprocessedimfileArgs, PS_LIST_TAIL, "-class",  0,
    222             "search by class", NULL);
    223     psMetadataAddStr(retryprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
     215    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    224216            "search by class ID", NULL);
     217    psMetadataAddS16(revertprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
     218            "search by fault code", 0);
    225219
    226220    // -block
     
    247241    PXTOOL_ADD_MODE("-processedimfile",     "", CHIPTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
    248242    PXTOOL_ADD_MODE("-updateprocessedimfile", "", CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,    updateprocessedimfileArgs);
    249     PXTOOL_ADD_MODE("-retryprocessedimfile", "", CHIPTOOL_MODE_RETRYPROCESSEDIMFILE,    retryprocessedimfileArgs);
    250     PXTOOL_ADD_MODE("-block",               "",            CHIPTOOL_MODE_BLOCK,          blockArgs);
    251     PXTOOL_ADD_MODE("-masked",              "",      CHIPTOOL_MODE_MASKED,         maskedArgs);
     243    PXTOOL_ADD_MODE("-revertprocessedimfile", "", CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,    revertprocessedimfileArgs);
     244    PXTOOL_ADD_MODE("-block",               "", CHIPTOOL_MODE_BLOCK,          blockArgs);
     245    PXTOOL_ADD_MODE("-masked",              "", CHIPTOOL_MODE_MASKED,         maskedArgs);
    252246    PXTOOL_ADD_MODE("-unblock",             "",  CHIPTOOL_MODE_UNBLOCK,        unblockArgs);
    253247
     
    277271}
    278272
    279 
    280 
    281273    // generate SQL where clause
    282274    config->where = psMetadataAlloc();
     
    310302
    311303    addWhereStr(filter);
    312     addWhereStr(class);
    313304    addWhereStr(class_id);
     305 
     306    // convert '-code' to 'fault'
     307    {
     308        psS16 fault = 0;
     309        bool status = false;
     310        if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
     311            if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
     312                psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     313                psFree(config);
     314                return NULL;
     315            }
     316        }
     317    }
    314318
    315319    /*
  • trunk/ippTools/src/regtoolConfig.c

    r14098 r14099  
    306306}
    307307
    308 #define addWhereS16(name) \
    309 { \
    310     psS16 s16 = 0; \
    311     bool status = false; \
    312     if ((s16= psMetadataLookupS16(&status, config->args, "-" #name))) { \
    313         if (!psMetadataAddS16(config->where, PS_LIST_TAIL, #name, 0, "==", s16)) { \
    314             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    315             psFree(config); \
    316             return NULL; \
    317         } \
    318     } \
    319 }
    320 
    321308    // generate SQL where clause
    322309    config->where = psMetadataAlloc();
     
    335322        }
    336323    }
     324
    337325    addWhereStr(telescope);
    338326    addWhereStr(exp_type);
     
    341329    addWhereStr(tmp_class_id);
    342330    addWhereStr(filter);
    343     addWhereS16(code);
     331
     332    // convert '-code' to 'fault'
     333    {
     334        psS16 fault = 0;
     335        bool status = false;
     336        if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
     337            if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
     338                psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     339                psFree(config);
     340                return NULL;
     341            }
     342        }
     343    }
    344344
    345345    if (config->where->list->n < 1) {
Note: See TracChangeset for help on using the changeset viewer.