IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 32574


Ignore:
Timestamp:
Oct 27, 2011, 12:02:35 PM (15 years ago)
Author:
bills
Message:

Add chiptool -dropprocessedimfile

Location:
tags/ipp-20110622/ippTools
Files:
4 edited
2 copied

Legend:

Unmodified
Added
Removed
  • tags/ipp-20110622/ippTools/share/Makefile.am

    r32424 r32574  
    7676        chiptool_definecopy.sql \
    7777        chiptool_donecleanup.sql \
     78        chiptool_dropprocessedimfile_update.sql \
     79        chiptool_dropprocessedimfile_delete.sql \
    7880        chiptool_find_rawexp.sql \
    7981        chiptool_listrun.sql \
  • tags/ipp-20110622/ippTools/share/chiptool_dropprocessedimfile_delete.sql

    • Property svn:mergeinfo set to (toggle deleted branches)
      /branches/czw_branch/20101203/ippTools/share/chiptool_dropprocessedimfile_delete.sql29907-30631
      /branches/eam_branches/ipp-20101103/ippTools/share/chiptool_dropprocessedimfile_delete.sql29657-29920
      /branches/eam_branches/ipp-20101205/ippTools/share/chiptool_dropprocessedimfile_delete.sql29959-30585
      /branches/eam_branches/ipp-20110213/ippTools/share/chiptool_dropprocessedimfile_delete.sql30628-31149
      /branches/eam_branches/ipp-20110404/ippTools/share/chiptool_dropprocessedimfile_delete.sql31166-31444
      /branches/eam_branches/ipp-20110505/ippTools/share/chiptool_dropprocessedimfile_delete.sql31458-31658
      /branches/eam_branches/ipp-20110710/ippTools/share/chiptool_dropprocessedimfile_delete.sql31852-32345
  • tags/ipp-20110622/ippTools/share/chiptool_dropprocessedimfile_update.sql

    • Property svn:mergeinfo set to (toggle deleted branches)
      /branches/czw_branch/20101203/ippTools/share/chiptool_dropprocessedimfile_update.sql29907-30631
      /branches/eam_branches/ipp-20101103/ippTools/share/chiptool_dropprocessedimfile_update.sql29657-29920
      /branches/eam_branches/ipp-20101205/ippTools/share/chiptool_dropprocessedimfile_update.sql29959-30585
      /branches/eam_branches/ipp-20110213/ippTools/share/chiptool_dropprocessedimfile_update.sql30628-31149
      /branches/eam_branches/ipp-20110404/ippTools/share/chiptool_dropprocessedimfile_update.sql31166-31444
      /branches/eam_branches/ipp-20110505/ippTools/share/chiptool_dropprocessedimfile_update.sql31458-31658
      /branches/eam_branches/ipp-20110710/ippTools/share/chiptool_dropprocessedimfile_update.sql31852-32345
  • tags/ipp-20110622/ippTools/src/chiptool.c

    r32535 r32574  
    4343static bool revertprocessedimfileMode(pxConfig *config);
    4444static bool updateprocessedimfileMode(pxConfig *config);
     45static bool dropprocessedimfileMode(pxConfig *config);
    4546static bool advanceexpMode(pxConfig *config);
    4647static bool blockMode(pxConfig *config);
     
    8889        MODECASE(CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,   revertprocessedimfileMode);
    8990        MODECASE(CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,   updateprocessedimfileMode);
     91        MODECASE(CHIPTOOL_MODE_DROPPROCESSEDIMFILE,     dropprocessedimfileMode);
    9092        MODECASE(CHIPTOOL_MODE_ADVANCEEXP,              advanceexpMode);
    9193        MODECASE(CHIPTOOL_MODE_BLOCK,                   blockMode);
     
    962964    PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    963965    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    964     PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, NULL);
     966    PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false);
    965967    if (psListLength(where->list) == 0) {
    966968        psError(PS_ERR_UNKNOWN, true, "search parameters are required");
     
    986988
    987989
     990    return true;
     991}
     992
     993// "drop" previously processed components as though the original processing
     994// had poor quality. Sets quality, data_state, clears fault and magicked
     995// Deletes corresponding magicDSFile (if one exists)
     996static bool dropprocessedimfileMode(pxConfig *config)
     997{
     998    PS_ASSERT_PTR_NON_NULL(config, false);
     999
     1000    psMetadata *where = psMetadataAlloc();
     1001    PXOPT_COPY_S64(config->args, where, "-chip_id", "chipProcessedImfile.chip_id", "==");
     1002    PXOPT_COPY_STR(config->args, where, "-class_id", "chipProcessedImfile.class_id", "==");
     1003    PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", true, false);
     1004    PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", true, false);
     1005
     1006    if (!quality) {
     1007        psError(PXTOOLS_ERR_CONFIG, true, "non-zero quality value is required");
     1008        return false;
     1009    }
     1010
     1011    if (psListLength(where->list) == 0) {
     1012        psError(PXTOOLS_ERR_CONFIG, true, "-chip_id is required");
     1013        return false;
     1014    }
     1015
     1016    psString query = pxDataGet("chiptool_dropprocessedimfile_update.sql");
     1017    if (!query) {
     1018        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     1019        return false;
     1020    }
     1021    psString delete_query = pxDataGet("chiptool_dropprocessedimfile_delete.sql");
     1022    if (!delete_query) {
     1023        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     1024        return false;
     1025    }
     1026    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     1027    psStringAppend(&query, " WHERE %s", whereClause);
     1028    psFree(where);
     1029
     1030    if (!psDBTransaction(config->dbh)) {
     1031        psError(PS_ERR_UNKNOWN, false, "database error");
     1032        return false;
     1033    }
     1034    if (!p_psDBRunQueryF(config->dbh, query, quality)) {
     1035        if (!psDBRollback(config->dbh)) {
     1036            psError(PS_ERR_UNKNOWN, false, "database error on rollback");
     1037        }
     1038        psError(PS_ERR_UNKNOWN, false, "database error");
     1039        psFree(query);
     1040        return false;
     1041    }
     1042    psFree(query);
     1043
     1044    psStringAppend(&delete_query, " AND %s", whereClause);
     1045    psFree(whereClause);
     1046    if (!p_psDBRunQuery(config->dbh, delete_query)) {
     1047        if (!psDBRollback(config->dbh)) {
     1048            psError(PS_ERR_UNKNOWN, false, "database error on rollback");
     1049        }
     1050        psError(PS_ERR_UNKNOWN, false, "database error");
     1051        psFree(delete_query);
     1052        return false;
     1053    }
     1054    psFree(delete_query);
     1055
     1056    if (!psDBCommit(config->dbh)) {
     1057        psError(PS_ERR_UNKNOWN, false, "database error");
     1058        return false;
     1059    }
    9881060    return true;
    9891061}
  • tags/ipp-20110622/ippTools/src/chiptool.h

    r29416 r32574  
    3333    CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,
    3434    CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,
     35    CHIPTOOL_MODE_DROPPROCESSEDIMFILE,
    3536    CHIPTOOL_MODE_SETIMFILETOUPDATE,
    3637    CHIPTOOL_MODE_ADVANCEEXP,
  • tags/ipp-20110622/ippTools/src/chiptoolConfig.c

    r31956 r32574  
    237237    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_state", 0,         "set state", NULL);
    238238    psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_quality",  0,            "set quality", 0);
    239     // -processedExp
     239
     240    // -dropprocessedimfile
     241    psMetadata *dropprocessedimfileArgs = psMetadataAlloc();
     242    psMetadataAddS64(dropprocessedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,            "search by chip ID (required)", 0);
     243    psMetadataAddStr(dropprocessedimfileArgs,  PS_LIST_TAIL, "-class_id",           0, "search by class ID", NULL);
     244    psMetadataAddS16(dropprocessedimfileArgs, PS_LIST_TAIL, "-set_quality",  0,        "set quality (required)", 0);
     245
     246    // -listrun
    240247    psMetadata *listrunArgs = psMetadataAlloc();
    241248    pxchipSetSearchArgs(listrunArgs);
     
    372379    PXOPT_ADD_MODE("-processedimfile",      "show processed imfiles",               CHIPTOOL_MODE_PROCESSEDIMFILE,      processedimfileArgs);
    373380    PXOPT_ADD_MODE("-updateprocessedimfile","change procesed imfile properties",    CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,updateprocessedimfileArgs);
     381    PXOPT_ADD_MODE("-dropprocessedimfile","drop previously procesed imfile",        CHIPTOOL_MODE_DROPPROCESSEDIMFILE,  dropprocessedimfileArgs);
    374382    PXOPT_ADD_MODE("-revertprocessedimfile","undo a processed imfile",              CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,revertprocessedimfileArgs);
    375383    PXOPT_ADD_MODE("-runstate",             "list the states of chip run",          CHIPTOOL_MODE_RUNSTATE,             runstateArgs);
Note: See TracChangeset for help on using the changeset viewer.