IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 24, 2010, 11:56:57 AM (16 years ago)
Author:
Paul Price
Message:

Add 'rerun' option, default false.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/pap/ippTools/src/bgtool.c

    r28199 r28458  
    317317    }
    318318
    319     PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", true, false);
     319    PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false);
     320    PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", false, false);
    320321    PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false);
    321322    PXOPT_LOOKUP_STR(data_group, config->args, "-set_data_group", false, false);
     
    338339    if (psListLength(where->list)) {
    339340        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    340         psStringAppend(&query, "AND %s", whereClause);
     341        psStringAppend(&query, "\nAND %s", whereClause);
    341342        psFree(whereClause);
    342343    }
    343344    psFree(where);
     345
     346    if (!rerun) {
     347        psStringAppend(&query, "\nAND chipBackgroundRun.chip_bg_id IS NULL");
     348        if (label) {
     349            psStringAppend(&query,
     350                           "\nAND (chipBackgroundRun.label = '%s'"
     351                           " OR chipBackgroundRun.label IS NULL",
     352                           label);
     353        }
     354        if (data_group) {
     355            psStringAppend(&query,
     356                           "\nAND (chipBackgroundRun.data_group = '%s'"
     357                           " OR chipBackgroundRun.data_group IS NULL",
     358                           data_group);
     359        }
     360        if (dist_group) {
     361            psStringAppend(&query,
     362                           "\nAND (chipBackgroundRun.dist_group = '%s'"
     363                           " OR chipBackgroundRun.dist_group IS NULL",
     364                           dist_group);
     365        }
     366    }
    344367
    345368    if (!psDBTransaction(config->dbh)) {
     
    10571080    }
    10581081
     1082    PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false);
    10591083    PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", true, false);
    10601084    PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false);
     
    10821106    }
    10831107    psFree(where);
     1108
     1109    if (!rerun) {
     1110        psStringAppend(&query, "\nAND warpBackgroundRun.warp_bg_id IS NULL");
     1111        if (label) {
     1112            psStringAppend(&query,
     1113                           "\nAND (warpBackgroundRun.label = '%s'"
     1114                           " OR warpBackgroundRun.label IS NULL",
     1115                           label);
     1116        }
     1117        if (data_group) {
     1118            psStringAppend(&query,
     1119                           "\nAND (warpBackgroundRun.data_group = '%s'"
     1120                           " OR warpBackgroundRun.data_group IS NULL",
     1121                           data_group);
     1122        }
     1123        if (dist_group) {
     1124            psStringAppend(&query,
     1125                           "\nAND (warpBackgroundRun.dist_group = '%s'"
     1126                           " OR warpBackgroundRun.dist_group IS NULL",
     1127                           dist_group);
     1128        }
     1129    }
    10841130
    10851131    if (!psDBTransaction(config->dbh)) {
Note: See TracChangeset for help on using the changeset viewer.