IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 18, 2012, 5:57:19 AM (14 years ago)
Author:
eugene
Message:

merge changes from trunk

Location:
branches/eam_branches/ipp-20121130/ippTools/src
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20121130/ippTools/src

  • branches/eam_branches/ipp-20121130/ippTools/src/chiptool.c

    r34501 r34839  
    13111311    PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    13121312    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     1313    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    13131314    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    13141315
     
    13191320    pxAddLabelSearchArgs (config, where, "-label", "label", "==");
    13201321
    1321     psString query = pxDataGet("chiptool_pendingcleanupimfile.sql");
     1322    char *sql_file = all ? "chiptool_pendingcleanupimfile_all.sql" : "chiptool_pendingcleanupimfile.sql";
     1323    psString query = pxDataGet(sql_file);
    13221324    if (!query) {
    13231325        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
  • branches/eam_branches/ipp-20121130/ippTools/src/chiptoolConfig.c

    r34501 r34839  
    296296    psMetadataAddS64(pendingcleanupimfileArgs, PS_LIST_TAIL, "-chip_id", 0,          "search by chip ID", 0);
    297297    psMetadataAddStr(pendingcleanupimfileArgs, PS_LIST_TAIL, "-exp_id",                 0,            "search by exp_id", NULL);
     298    psMetadataAddBool(pendingcleanupimfileArgs, PS_LIST_TAIL, "-all",  0,            "list all components regardless of data_state", false);
    298299    psMetadataAddBool(pendingcleanupimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    299300    psMetadataAddU64(pendingcleanupimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
  • branches/eam_branches/ipp-20121130/ippTools/src/difftool.c

    r34538 r34839  
    25612561
    25622562    PXOPT_LOOKUP_S64(diff_id, config->args, "-diff_id", false, false);
     2563    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    25632564    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    25642565    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     
    25702571    pxAddLabelSearchArgs (config, where, "-label", "diffRun.label", "==");
    25712572
    2572     psString query = pxDataGet("difftool_pendingcleanupskyfile.sql");
     2573    char * sql_file  = all ? "difftool_pendingcleanupskyfile_all.sql": "difftool_pendingcleanupskyfile.sql" ;
     2574    psString query = pxDataGet(sql_file);
    25732575    if (!query) {
    25742576        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     
    27402742    PS_ASSERT_PTR_NON_NULL(config, false);
    27412743
    2742     PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    2743     PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
    2744 
    2745     psMetadata *where = psMetadataAlloc();
    2746     PXOPT_COPY_S64(config->args, where, "-diff_id",   "diff_id",   "==");
    2747     PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id",   "==");
    2748 
    2749     if (!pxSetFaultCode(config->dbh, "diffSkyfile", where, fault, quality)) {
    2750         psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
     2744    PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false);
     2745
     2746    if (!state) {
     2747        psMetadata *where = psMetadataAlloc();
     2748        PXOPT_COPY_S64(config->args, where, "-diff_id",   "diff_id",   "==");
     2749        PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id",   "==");
     2750
     2751        PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
     2752        PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
     2753
     2754        if (!pxSetFaultCode(config->dbh, "diffSkyfile", where, fault, quality)) {
     2755            psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
     2756            psFree (where);
     2757            return false;
     2758        }
    27512759        psFree (where);
    2752         return false;
    2753     }
    2754     psFree (where);
     2760    } else {
     2761      if (strcmp(state,"error_cleaned") == 0) {
     2762        change_skyfile_data_state(config,"error_cleaned", "goto_cleaned");
     2763      }
     2764      else if (strcmp(state, "error_scrubbed") == 0) {
     2765        change_skyfile_data_state(config,"error_scrubbed", "goto_scrubbed");
     2766      }
     2767      else if (strcmp(state, "error_purged") == 0) {
     2768        change_skyfile_data_state(config,"error_purged", "goto_purged");
     2769      }
     2770      else {
     2771        psError(PS_ERR_UNKNOWN, false, "unhandled state given");
     2772        return(false);
     2773      }
     2774    }
    27552775
    27562776    return true;
  • branches/eam_branches/ipp-20121130/ippTools/src/difftoolConfig.c

    r34443 r34839  
    395395    psMetadataAddStr(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "list blocks for specified label", NULL);
    396396    psMetadataAddS64(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,          "search by diff ID", 0);
     397    psMetadataAddBool(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-all",  0,            "list all skycells regardless of data_state", false);
    397398    psMetadataAddBool(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    398399    psMetadataAddU64(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     
    411412    psMetadataAddBool(donecleanupArgs, PS_LIST_TAIL, "-simple",  0,          "use the simple output format", false);
    412413    psMetadataAddU64(donecleanupArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     414
    413415    // -updatediffskyfile
    414416    psMetadata *updatediffskyfileArgs = psMetadataAlloc();
     
    416418    psMetadataAddStr(updatediffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0,   "search by skycell ID", NULL);
    417419    psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-fault", 0,        "set fault code (required)", 0);
    418     psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-set_quality", 0,      "set quality", 0);
     420    psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-set_quality", 0,  "set quality", 0);
     421    psMetadataAddStr(updatediffskyfileArgs, PS_LIST_TAIL, "-set_state", 0,    "set data_state state", NULL);
    419422
    420423    // -tocleanedskyfile
  • branches/eam_branches/ipp-20121130/ippTools/src/magictool.c

  • branches/eam_branches/ipp-20121130/ippTools/src/stacktool.c

    r34731 r34839  
    3737static bool inputskyfileMode(pxConfig *config);
    3838static bool tosumMode(pxConfig *config);
     39static bool tobkgMode(pxConfig *config);
    3940static bool addsumskyfileMode(pxConfig *config);
    4041static bool sumskyfileMode(pxConfig *config);
     
    7677        MODECASE(STACKTOOL_MODE_INPUTSKYFILE,          inputskyfileMode);
    7778        MODECASE(STACKTOOL_MODE_TOSUM,                 tosumMode);
     79        MODECASE(STACKTOOL_MODE_TOBKG,                 tobkgMode);
    7880        MODECASE(STACKTOOL_MODE_ADDSUMSKYFILE,         addsumskyfileMode);
    7981        MODECASE(STACKTOOL_MODE_SUMSKYFILE,            sumskyfileMode);
     
    952954        // negative simple so the default is true
    953955        if (!ippdbPrintMetadatas(stdout, output, "stackSumSkyfile", !simple)) {
     956            psError(PS_ERR_UNKNOWN, false, "failed to print array");
     957            psFree(output);
     958            return false;
     959        }
     960    }
     961
     962    psFree(output);
     963
     964    return true;
     965}
     966
     967static bool tobkgMode(pxConfig *config)
     968{
     969    PS_ASSERT_PTR_NON_NULL(config, false);
     970
     971    psMetadata *where = psMetadataAlloc();
     972    PXOPT_COPY_S64(config->args, where, "-stack_id", "stack_id", "==");
     973    pxAddLabelSearchArgs (config, where, "-label", "stackRun.label", "==");
     974
     975    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     976    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     977
     978    psString query = pxDataGet("stacktool_tobkg.sql");
     979    if (!query) {
     980        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     981        return false;
     982    }
     983
     984    psString whereClause = psStringCopy(""); // WHERE conditions to add
     985    if (psListLength(where->list)) {
     986        psString new = psDBGenerateWhereConditionSQL(where, NULL);
     987        psStringAppend(&whereClause, "\nAND %s", new);
     988        psFree(new);
     989    }
     990    psFree(where);
     991
     992    psStringAppend(&query, "\nORDER by priority DESC, stack_id");
     993
     994    // treat limit == 0 as "no limit"
     995    if (limit) {
     996        psString limitString = psDBGenerateLimitSQL(limit);
     997        psStringAppend(&query, " %s", limitString);
     998        psFree(limitString);
     999    }
     1000
     1001    if (!p_psDBRunQueryF(config->dbh, query, whereClause)) {
     1002        psError(PS_ERR_UNKNOWN, false, "database error");
     1003        psFree(query);
     1004        return false;
     1005    }
     1006    psFree(query);
     1007
     1008    psArray *output = p_psDBFetchResult(config->dbh);
     1009    if (!output) {
     1010        psErrorCode err = psErrorCodeLast();
     1011        switch (err) {
     1012            case PS_ERR_DB_CLIENT:
     1013                psError(PXTOOLS_ERR_SYS, false, "database error");
     1014            case PS_ERR_DB_SERVER:
     1015                psError(PXTOOLS_ERR_PROG, false, "database error");
     1016            default:
     1017                psError(PXTOOLS_ERR_PROG, false, "unknown error");
     1018        }
     1019
     1020        return false;
     1021    }
     1022    if (!psArrayLength(output)) {
     1023        psTrace("stacktool", PS_LOG_INFO, "no rows found");
     1024        psFree(output);
     1025        return true;
     1026    }
     1027
     1028    if (psArrayLength(output)) {
     1029        // negative simple so the default is true
     1030        if (!ippdbPrintMetadatas(stdout, output, "stackBkgSkyfile", !simple)) {
    9541031            psError(PS_ERR_UNKNOWN, false, "failed to print array");
    9551032            psFree(output);
     
    16811758    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    16821759    PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
     1760    PXOPT_LOOKUP_S16(background_model, config->args, "-set_background_model", false, false);
    16831761
    16841762    psMetadata *where = psMetadataAlloc();
    16851763    PXOPT_COPY_S64(config->args, where, "-stack_id",   "stack_id",   "==");
    16861764
    1687     if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault, quality)) {
     1765    if (background_model) {
     1766      psMetadata *values = psMetadataAlloc();
     1767      PXOPT_COPY_S16(config->args, values, "-set_background_model", "background_model", "==");
     1768      long rows = psDBUpdateRows(config->dbh,"stackSumSkyfile", where, values);
     1769      psFree(values);
     1770      if (!rows) {
     1771        // This maybe should rollback and error if rows != 1
     1772        psError(PS_ERR_UNKNOWN, true, "no rows changed");
     1773        return false;
     1774      }
     1775    }
     1776    else {   
     1777      if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault, quality)) {
    16881778        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    16891779        psFree (where);
    16901780        return false;
     1781      }
    16911782    }
    16921783    psFree (where);
  • branches/eam_branches/ipp-20121130/ippTools/src/stacktool.h

    r28375 r34839  
    3131    STACKTOOL_MODE_INPUTSKYFILE,
    3232    STACKTOOL_MODE_TOSUM,
     33    STACKTOOL_MODE_TOBKG,
    3334    STACKTOOL_MODE_ADDSUMSKYFILE,
    3435    STACKTOOL_MODE_SUMSKYFILE,
  • branches/eam_branches/ipp-20121130/ippTools/src/stacktoolConfig.c

    r34731 r34839  
    150150    psMetadataAddBool(tosumArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    151151
     152    // -tobkg
     153    psMetadata *tobkgArgs = psMetadataAlloc();
     154    psMetadataAddS64(tobkgArgs, PS_LIST_TAIL, "-stack_id", 0,            "search by stack ID", 0);
     155    psMetadataAddStr(tobkgArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by label", NULL);
     156    psMetadataAddU64(tobkgArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     157    psMetadataAddBool(tobkgArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     158   
    152159    // -addsumskyfile
    153160    psMetadata *addsumskyfileArgs = psMetadataAlloc();
     
    280287    psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-fault", 0,            "set fault code (required)", 0);
    281288    psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-set_quality", 0,            "set quality", 0);
    282 
     289    psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-set_background_model", 0,   "set background model", 0);
     290   
    283291    // -exportrun
    284292    psMetadata *exportrunArgs = psMetadataAlloc();
     
    304312    PXOPT_ADD_MODE("-inputskyfile",    "", STACKTOOL_MODE_INPUTSKYFILE,    inputskyfileArgs);
    305313    PXOPT_ADD_MODE("-tosum",           "", STACKTOOL_MODE_TOSUM,          tosumArgs);
     314    PXOPT_ADD_MODE("-tobkg",           "", STACKTOOL_MODE_TOBKG,          tobkgArgs);
    306315    PXOPT_ADD_MODE("-addsumskyfile",   "", STACKTOOL_MODE_ADDSUMSKYFILE,   addsumskyfileArgs);
    307316    PXOPT_ADD_MODE("-sumskyfile",      "list results of stackRun", STACKTOOL_MODE_SUMSKYFILE,      sumskyfileArgs);
  • branches/eam_branches/ipp-20121130/ippTools/src/staticskytool.c

    r34733 r34839  
    132132    pxAddLabelSearchArgs(config, whereMD, "-select_data_group",    "stackRun.data_group",       "LIKE");
    133133    pxAddLabelSearchArgs(config, whereMD, "-select_filter",        "stackRun.filter",           "LIKE");
    134 #ifdef notdef
    135     PXOPT_COPY_F32(config->args, whereMD, "-select_glat_min",      "skycell.glat",              ">=");
    136     PXOPT_COPY_F32(config->args, whereMD, "-select_glat_max",      "skycell.glat",              "<=");
    137     PXOPT_COPY_F32(config->args, whereMD, "-select_rahours_min",   "skycell.radeg/15",          ">=");
    138     PXOPT_COPY_F32(config->args, whereMD, "-select_rahours_max",   "skycell.radeg/15",          "<=");
    139     PXOPT_COPY_F32(config->args, whereMD, "-select_radeg_min",     "skycell.radeg",             ">=");
    140     PXOPT_COPY_F32(config->args, whereMD, "-select_radeg_max",     "skycell.radeg",             "<=");
    141     PXOPT_COPY_F32(config->args, whereMD, "-select_decdeg_min",    "skycell.decdeg",             ">=");
    142     PXOPT_COPY_F32(config->args, whereMD, "-select_decdeg_max",    "skycell.decdeg",             "<=");
    143 #endif
    144134    if (!pxskycellAddWhere(config, whereMD)) {
    145135        psError(PXTOOLS_ERR_CONFIG, false, "failed to add skycell search arguments");
     
    686676    psStringAppend(&query, "\nGROUP BY sky_id");
    687677    if (num_filters) {
    688         psStringAppend(&query, "\nHAVING COUNT(filter) >= %d", num_filters);
     678        psStringAppend(&query, "\nHAVING COUNT(filter) = %d", num_filters);
    689679    }
    690680       
     
    10491039    pxAddLabelSearchArgs(config, whereMD, "-select_data_group",    "staticskyRun.data_group",       "LIKE");
    10501040    pxAddLabelSearchArgs(config, whereMD, "-select_filter",        "stackRun.filter",           "LIKE");
     1041    if (!pxskycellAddWhere(config, whereMD)) {
     1042        psError(PXTOOLS_ERR_CONFIG, false, "failed to add skycell search arguments");
     1043        return false;
     1044    }
    10511045
    10521046    PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false);
     
    11281122        psString sky_label =  psMetadataLookupStr(&status, row, "label");
    11291123        psString sky_data_group =  psMetadataLookupStr(&status, row, "data_group");
     1124        psString sky_dist_group =  psMetadataLookupStr(&status, row, "dist_group");
    11301125
    11311126        // create a staticskyRun
     
    11381133                                label ? label : sky_label,
    11391134                                data_group ? data_group : sky_data_group,
    1140                                 dist_group,
     1135                                dist_group ? dist_group : sky_dist_group,
    11411136                                reduction,
    11421137                                registered,
     
    11591154
    11601155    psMetadata *where = psMetadataAlloc();
    1161     PXOPT_COPY_S64(config->args, where, "-skycal_id",  "skycal_id",   "==");
    1162     PXOPT_COPY_STR(config->args, where, "-label",   "label",    "==");
    1163     PXOPT_COPY_STR(config->args, where, "-state",   "state",    "==");
     1156    PXOPT_COPY_S64(config->args, where, "-skycal_id", "skycal_id",   "==");
     1157    PXOPT_COPY_S64(config->args, where, "-sky_id",   "sky_id",   "==");
     1158    PXOPT_COPY_S64(config->args, where, "-stack_id", "stack_id",   "==");
     1159    PXOPT_COPY_STR(config->args, where, "-label",   "skycalRun.label",    "==");
     1160    PXOPT_COPY_STR(config->args, where, "-state",   "skycalRun.state",    "==");
     1161    if (!pxskycellAddWhere(config, where)) {
     1162        psError(PXTOOLS_ERR_CONFIG, false, "failed to add skycell search arguments");
     1163        return false;
     1164    }
    11641165    if (!psListLength(where->list)) {
    11651166        psFree(where);
     
    11681169    }
    11691170
    1170     psString query = psStringCopy("UPDATE skycalRun");
     1171    psString query = psStringCopy("UPDATE skycalRun JOIN stackRun using(stack_id) join skycell using(tess_id, skycell_id)");
    11711172
    11721173    // pxUpdateRun gets parameters from config->args and updates
     
    12761277    PXOPT_LOOKUP_STR(hostname, config->args,    "-hostname", false, false);
    12771278    PXOPT_LOOKUP_S32(n_astrom, config->args,    "-n_astrom", false, false);
    1278     PXOPT_LOOKUP_S32(n_detections, config->args,    "-n_detections", false, false);
    1279     PXOPT_LOOKUP_S32(n_extended, config->args,    "-n_extended", false, false);
     1279    PXOPT_LOOKUP_S32(n_detections, config->args,"-n_detections", false, false);
     1280    PXOPT_LOOKUP_S32(n_extended, config->args,  "-n_extended", false, false);
     1281    PXOPT_LOOKUP_S32(n_forced, config->args,    "-n_forced", false, false);
    12801282
    12811283    PXOPT_LOOKUP_STR(path_base, config->args,   "-path_base", false, false);
     
    13181320        n_detections,
    13191321        n_extended,
     1322        n_forced,
    13201323        zpt_obs,
    13211324        zpt_stdev,
  • branches/eam_branches/ipp-20121130/ippTools/src/staticskytoolConfig.c

    r34733 r34839  
    126126    psMetadataAddStr(resultArgs, PS_LIST_TAIL, "-label", 0, "search by label", NULL);
    127127    psMetadataAddStr(resultArgs, PS_LIST_TAIL, "-data_group", 0, "search by data_group (LIKE comparison)", NULL);
    128     psMetadataAddS16(resultArgs, PS_LIST_TAIL, "-num_filters", 0, "search by number of filters in the inputs (>=)", 0);
     128    psMetadataAddS16(resultArgs, PS_LIST_TAIL, "-num_filters", 0, "search by number of filters in the inputs", 0);
    129129    pxskycellAddArguments(resultArgs);
    130130    psMetadataAddS16(resultArgs, PS_LIST_TAIL, "-fault", 0, "search by fault code", 0);
     
    166166    psMetadataAddStr(defineskycalrunArgs,  PS_LIST_TAIL, "-select_data_group", PS_META_DUPLICATE_OK, "search by stackRun data_group (LIKE comparison, multiple OK)", NULL);
    167167    psMetadataAddStr(defineskycalrunArgs,  PS_LIST_TAIL, "-select_filter", PS_META_DUPLICATE_OK, "search by filter (LIKE comparison, multiple OK)", NULL);
     168    pxskycellAddArguments(defineskycalrunArgs);
    168169    psMetadataAddStr(defineskycalrunArgs,  PS_LIST_TAIL, "-set_workdir", 0, "define workdir", NULL);
    169170    psMetadataAddStr(defineskycalrunArgs,  PS_LIST_TAIL, "-set_label", 0, "define label", NULL);
     
    181182    psMetadata *updateskycalrunArgs = psMetadataAlloc();
    182183    psMetadataAddS64(updateskycalrunArgs, PS_LIST_TAIL, "-skycal_id", 0, "search by skycal ID", 0);
     184    psMetadataAddS64(updateskycalrunArgs, PS_LIST_TAIL, "-sky_id", 0,    "search by sky ID", 0);
     185    psMetadataAddS64(updateskycalrunArgs, PS_LIST_TAIL, "-stack_id", 0,  "search by stack ID", 0);
    183186    psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL);
    184187    psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-label", 0, "search by label", 0);
     188    pxskycellAddArguments(updateskycalrunArgs);
    185189    psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-set_label", 0, "define new value for label", NULL);
    186190    psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-set_state", 0, "define new state", NULL);
     
    215219    psMetadataAddS32(addskycalresultArgs, PS_LIST_TAIL, "-n_detections", 0,        "define number of detections", 0);
    216220    psMetadataAddS32(addskycalresultArgs, PS_LIST_TAIL, "-n_extended", 0,          "define number of extended detections", 0);
     221    psMetadataAddS32(addskycalresultArgs, PS_LIST_TAIL, "-n_forced", 0,            "define number of forced detections", 0);
    217222
    218223    psMetadataAddStr(addskycalresultArgs, PS_LIST_TAIL, "-path_base", 0,            "define base output location", NULL);
  • branches/eam_branches/ipp-20121130/ippTools/src/warptool.c

    r34731 r34839  
    18381838    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    18391839    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     1840    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    18401841
    18411842    psMetadata *where = psMetadataAlloc();
     
    18431844    pxAddLabelSearchArgs (config, where, "-label", "warpRun.label", "==");
    18441845
    1845     psString query = pxDataGet("warptool_pendingcleanupskyfile.sql");
     1846    char * sql_file = all ? "warptool_pendingcleanupskyfile_all.sql" : "warptool_pendingcleanupskyfile.sql";
     1847    psString query = pxDataGet(sql_file);
    18461848    if (!query) {
    18471849        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     
    20572059        PXOPT_LOOKUP_S64(magicked, config->args, "-set_magicked", false, false);
    20582060        PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false);
     2061
    20592062        if (magicked) {
    20602063            psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.magicked = %" PRId64, magicked);
     
    20632066        if (quality) {
    20642067          psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.quality = %"PRId16, quality);
     2068        }
     2069        PXOPT_LOOKUP_S16(background_model, config->args, "-set_background_model", false, false);
     2070        if (background_model) {
     2071          psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.background_model = %"PRId16, background_model);
    20652072        }
    20662073    } else if (!strcmp(data_state, "cleaned") || !strcmp(data_state, "purged")) {
     
    21232130    // warp_id, skycell_id, fault are required
    21242131    PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false);
    2125 
    2126     if (!state) {
     2132    PXOPT_LOOKUP_S16(background_model, config->args, "-set_background_model", false, false);
     2133    if (background_model) {
     2134      // CZW 2012-12-06: I'm unclear why we don't use this form for all updates?
     2135      psMetadata *where = psMetadataAlloc();
     2136      psMetadata *values = psMetadataAlloc();
     2137      PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "==");
     2138      PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "==");
     2139      PXOPT_COPY_S16(config->args, values, "-set_background_model", "background_model", "==");
     2140      long rows = psDBUpdateRows(config->dbh,"warpSkyfile", where, values);
     2141      psFree(values);
     2142      psFree(where);
     2143      if (!rows) {
     2144        // This maybe should rollback and error if rows != 1
     2145        psError(PS_ERR_UNKNOWN, true, "no rows changed");
     2146        return false;
     2147      }
     2148    }
     2149    else if (!state) {
    21272150      psMetadata *where = psMetadataAlloc();
    21282151      PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "==");
  • branches/eam_branches/ipp-20121130/ippTools/src/warptoolConfig.c

    r34731 r34839  
    364364    psMetadataAddStr(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "list blocks for specified label", NULL);
    365365    psMetadataAddS64(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,          "search by warp ID (required)", 0);
     366    psMetadataAddBool(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-all",  0,            "list all skycells regardless of data_state", false);
    366367    psMetadataAddBool(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    367368    psMetadataAddU64(pendingcleanupskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     
    409410    psMetadataAddS16(updateskyfileArgs, PS_LIST_TAIL, "-set_quality",  0,"new quality value", 0);
    410411    psMetadataAddStr(updateskyfileArgs, PS_LIST_TAIL, "-set_state", 0,   "set state", 0);
    411 
     412    psMetadataAddS16(updateskyfileArgs, PS_LIST_TAIL, "-set_background_model", 0, "set the background_model value", 0);
    412413    // -exportrun
    413414    psMetadata *exportrunArgs = psMetadataAlloc();
Note: See TracChangeset for help on using the changeset viewer.