IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37384 for trunk/ippTools


Ignore:
Timestamp:
Sep 10, 2014, 4:53:47 PM (12 years ago)
Author:
watersc1
Message:

Changes to support fixing the duplicates in PV3. stacktool now has an updatesass mode which allows stackAssociation.data_group to be altered. laptool now has a revertsass mode which resets the lapRun.final_sass_id to NULL, allowing new stacks to be requeued for that run.

Location:
trunk/ippTools
Files:
1 added
7 edited

Legend:

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

    r37251 r37384  
    471471        laptool_revertgroup.sql \
    472472        laptool_filtersforgroup.sql \
     473        laptool_revertsass.sql \
    473474        vptool_find_rawexp.sql \
    474475        vptool_pendingimfile.sql \
  • trunk/ippTools/src/laptool.c

    r36555 r37384  
    2525static bool pendingrunMode(pxConfig *config);
    2626static bool updaterunMode(pxConfig *config);
     27static bool revertsassMode(pxConfig *config);
    2728
    2829// Exposure level
     
    6970    MODECASE(LAPTOOL_MODE_PENDINGRUN,    pendingrunMode);
    7071    MODECASE(LAPTOOL_MODE_UPDATERUN,     updaterunMode);
    71 
     72    MODECASE(LAPTOOL_MODE_REVERTSASS,    revertsassMode);
     73   
    7274    MODECASE(LAPTOOL_MODE_PENDINGEXP,    pendingexpMode);
    7375    MODECASE(LAPTOOL_MODE_EXPOSURES,     exposuresMode);
     
    695697}
    696698
     699static bool revertsassMode(pxConfig *config)
     700{
     701  PS_ASSERT_PTR_NON_NULL(config, false);
     702
     703  psMetadata *where = psMetadataAlloc();
     704  PXOPT_COPY_S64(config->args, where, "-lap_id", "lap_id", "==");
     705  PXOPT_COPY_S64(config->args, where, "-sass_id", "final_sass_id", "==");
     706  if (!psListLength(where->list)) {
     707    psFree(where);
     708    psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
     709    return false;
     710  }
     711
     712  psString query = pxDataGet("laptool_revertsass.sql");
     713  if (!query) {
     714    psError(PXTOOLS_ERR_SYS, false, "failed to retrieve SQL statement");
     715    return(false);
     716  }
     717  psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     718  psStringAppend(&query, "\n WHERE %s", whereClause);
     719  psFree(whereClause);
     720
     721  if (!psDBTransaction(config->dbh)) {
     722    psError(PS_ERR_UNKNOWN, false, "database error");
     723    return false;
     724  }
     725 
     726  if (!p_psDBRunQuery(config->dbh, query)) {
     727    psError(PS_ERR_UNKNOWN, false, "database error");
     728    psFree(query);
     729    return false;
     730  }
     731  psFree(query);
     732
     733  long numUpdated = psDBAffectedRows(config->dbh);
     734  if (numUpdated != 1) {
     735    psError(PS_ERR_UNKNOWN, false, "should have updated only one row. updated %ld", numUpdated);
     736    return false;
     737  }
     738
     739  if (!psDBCommit(config->dbh)) {
     740    psError(PS_ERR_UNKNOWN, false, "database error");
     741    return false;
     742  }
     743 
     744  return true;
     745}
    697746// Exposure level
    698747
  • trunk/ippTools/src/laptool.h

    r35566 r37384  
    1919  LAPTOOL_MODE_EXPOSURES,
    2020  LAPTOOL_MODE_STACKS,
     21  LAPTOOL_MODE_REVERTSASS,
    2122  LAPTOOL_MODE_UPDATEEXP,
    2223  LAPTOOL_MODE_DIFFCHECK,
  • trunk/ippTools/src/laptoolConfig.c

    r35568 r37384  
    117117  ADD_OPT(S64, updaterunArgs, "-set_final_sass_id",           "set final stack sass_id", 0);
    118118 
     119  // -revertsass
     120  psMetadata *revertsassArgs = psMetadataAlloc();
     121  ADD_OPT(S64, revertsassArgs, "-lap_id",                     "search by lap run id", 0);
     122  ADD_OPT(S64, revertsassArgs, "-sass_id",                    "sass id that is being removed", 0);
     123
    119124  // -pendingexp
    120125  psMetadata *pendingexpArgs = psMetadataAlloc();
     
    136141  ADD_OPT(Bool,stacksArgs, "-simple",                         "use the simple output format", false);
    137142  ADD_OPT(U64, stacksArgs, "-limit",                          "limit result set to N items", 0);
    138  
     143         
    139144  // -updateexp
    140145  psMetadata *updateexpArgs = psMetadataAlloc();
     
    227232  PXOPT_ADD_MODE("-listrun",                 "", LAPTOOL_MODE_PENDINGRUN,       listrunArgs);
    228233  PXOPT_ADD_MODE("-updaterun",               "", LAPTOOL_MODE_UPDATERUN,        updaterunArgs);
     234  PXOPT_ADD_MODE("-revertsass",              "mode to remove the sass_id", LAPTOOL_MODE_REVERTSASS,   revertsassArgs);
    229235  PXOPT_ADD_MODE("-pendingexp",              "", LAPTOOL_MODE_PENDINGEXP,       pendingexpArgs);
    230236  PXOPT_ADD_MODE("-exposures",               "", LAPTOOL_MODE_EXPOSURES,        exposuresArgs);
  • trunk/ippTools/src/stacktool.c

    r37104 r37384  
    4141static bool sumskyfileMode(pxConfig *config);
    4242static bool sassskyfileMode(pxConfig *config);
     43static bool updatesassMode(pxConfig *config);
    4344static bool revertsumskyfileMode(pxConfig *config);
    4445static bool tosummaryMode(pxConfig *config);
     
    8283        MODECASE(STACKTOOL_MODE_ADDSUMSKYFILE,         addsumskyfileMode);
    8384        MODECASE(STACKTOOL_MODE_SUMSKYFILE,            sumskyfileMode);
    84         MODECASE(STACKTOOL_MODE_SASSSKYFILE,            sassskyfileMode);
     85        MODECASE(STACKTOOL_MODE_SASSSKYFILE,           sassskyfileMode);
     86        MODECASE(STACKTOOL_MODE_UPDATESASS,            updatesassMode);
    8587        MODECASE(STACKTOOL_MODE_REVERTSUMSKYFILE,      revertsumskyfileMode);
    8688        MODECASE(STACKTOOL_MODE_TOSUMMARY,             tosummaryMode);
     
    12951297    PXOPT_COPY_STR(config->args, where, "-data_group", "stackAssociation.data_group", "LIKE");
    12961298
    1297 //  The following three selectors are incompatible with the sql so omit them
    1298 //    PXOPT_COPY_S64(config->args, where, "-warp_id", "warpRun.warp_id", "==");
    1299 //     PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "==");
    1300 //    PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "==");
    1301 
    13021299    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    13031300
     
    13691366}
    13701367
     1368static bool updatesassMode(pxConfig *config)
     1369{
     1370  PS_ASSERT_PTR_NON_NULL(config, false);
     1371
     1372  psMetadata *where = psMetadataAlloc();
     1373  PXOPT_COPY_S64(config->args, where, "-sass_id", "sass_id", "==");
     1374  PXOPT_COPY_STR(config->args, where, "-data_group", "data_group", "==");
     1375  PXOPT_COPY_STR(config->args, where, "-projection_cell", "projection_cell", "==");
     1376  PXOPT_COPY_STR(config->args, where, "-tess_id", "tess_id", "==");
     1377  PXOPT_COPY_STR(config->args, where, "-filter", "filter", "==");
     1378  if (!psListLength(where->list)) {
     1379    psFree(where);
     1380    psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
     1381    return false;
     1382  }
     1383
     1384  psMetadata *values = psMetadataAlloc();
     1385  PXOPT_COPY_STR(config->args, values, "-set_data_group", "data_group", "==");
     1386  if (!psListLength(values->list)) {
     1387    psFree(values);
     1388    psError(PXTOOLS_ERR_CONFIG, false, "data_group to assign not found");
     1389    return false;
     1390  }
     1391
     1392  if (!psDBTransaction(config->dbh)) {
     1393    psError(PS_ERR_UNKNOWN, false, "database error");
     1394    return false;
     1395  }
     1396 
     1397  long rows = psDBUpdateRows(config->dbh, "stackAssociation", where, values);
     1398  psFree(values);
     1399  psFree(where);
     1400
     1401  if (rows != 1) {
     1402    psError(PS_ERR_UNKNOWN, false, "should have updated only one row. updated %ld", rows);
     1403    return false;
     1404  }
     1405
     1406  if (!psDBCommit(config->dbh)) {
     1407    psError(PS_ERR_UNKNOWN, false, "database error");
     1408    return false;
     1409  }
     1410
     1411  return true;
     1412}
    13711413
    13721414static bool revertsumskyfileMode(pxConfig *config)
  • trunk/ippTools/src/stacktool.h

    r36361 r37384  
    3535    STACKTOOL_MODE_SUMSKYFILE,
    3636    STACKTOOL_MODE_SASSSKYFILE,
     37    STACKTOOL_MODE_UPDATESASS,
    3738    STACKTOOL_MODE_REVERTSUMSKYFILE,
    3839    STACKTOOL_MODE_TOSUMMARY,
  • trunk/ippTools/src/stacktoolConfig.c

    r37104 r37384  
    238238    psMetadataAddBool(sassskyfileArgs, PS_LIST_TAIL, "-all",  0,            "enable search without arguments", false);
    239239
     240    // -updatesass
     241    psMetadata *updatesassArgs = psMetadataAlloc();
     242    psMetadataAddS64(updatesassArgs, PS_LIST_TAIL, "-sass_id", 0,           "search by stack association id", 0);
     243    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-data_group", 0,        "search by data group", 0);
     244    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-projection_cell", 0,   "search by projection cell", 0);
     245    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-tess_id", 0,           "search by tess_id", 0);
     246    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-filter", 0,            "search by filter", 0);
     247
     248    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-set_data_group", 0,    "data_group to assign", 0);
     249
    240250    // -revertsumskyfile
    241251    psMetadata *revertsumskyfileArgs= psMetadataAlloc();
     
    348358    PXOPT_ADD_MODE("-donecleanup",           "show runs that have been cleaned",     STACKTOOL_MODE_DONECLEANUP,          donecleanupArgs);
    349359
    350     PXOPT_ADD_MODE("-sassskyfile",      "list results of stackAssociation", STACKTOOL_MODE_SASSSKYFILE,      sassskyfileArgs);
     360    PXOPT_ADD_MODE("-sassskyfile",          "list results of stackAssociation", STACKTOOL_MODE_SASSSKYFILE,      sassskyfileArgs);
     361    PXOPT_ADD_MODE("-updatesass",           "update data_group of stackAssociation", STACKTOOL_MODE_UPDATESASS,  updatesassArgs);
    351362    PXOPT_ADD_MODE("-tosummary",            "show runs that can be summarized", STACKTOOL_MODE_TOSUMMARY, tosummaryArgs);
    352363    PXOPT_ADD_MODE("-summary",              "show runs that have been summarized", STACKTOOL_MODE_SUMMARY, summaryArgs);
Note: See TracChangeset for help on using the changeset viewer.