IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 18657


Ignore:
Timestamp:
Jul 21, 2008, 7:16:14 PM (18 years ago)
Author:
Paul Price
Message:

Using expanded SQL in difftool_definebyquery.sql to generate list of diffs to generate.

Location:
trunk/ippTools/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/difftool.c

    r18618 r18657  
    820820    psMetadata *where = psMetadataAlloc();
    821821
    822     PXOPT_COPY_S64(config->args, where,  "-diff_id", "diff_id", "==");
    823822    PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "==");
    824823    PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "==");
    825     PXOPT_COPY_STR(config->args, where,  "-tess_id", "tess_id", "==");
     824    PXOPT_COPY_STR(config->args, where, "-tess_id", "tess_id", "==");
     825    PXOPT_COPY_STR(config->args, where, "-filter", "filter", "==");
    826826    PXOPT_COPY_STR(config->args, where,  "-kind", "kind", "==");
    827827    PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", true, false); // required options
    828828    PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false);
    829     PXOPT_LOOKUP_BOOL(template, config->args, "-template", false);
    830829    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     830    PXOPT_LOOKUP_BOOL(newTemplates, config->args, "-new-templates", false);
    831831
    832832    // find all things to queue
    833     psString query = pxDataGet("difftool_queue.sql");
     833    psString query = pxDataGet("difftool_definebyquery.sql");
    834834    if (!query) {
    835835        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     
    837837    }
    838838
    839     if (template) {
    840         // list only faulted rows
    841         psStringAppend(&query, " %s", " AND diffInputSkyfile.template != 0");
     839    if (newTemplates) {
     840        // Warps that haven't been diffed OR warps that can take a newer template in the diff
     841        psStringAppend(&query, " WHERE (diff_id IS NULL OR best_stack_id > current_stack_id)");
    842842    } else {
    843         // don't list faulted rows
    844         psStringAppend(&query, " %s",
    845                        " AND (diffInputSkyfile.template = 0 OR diffInputSkyfile.template IS NULL)");
     843        // Only warps that haven't been diffed
     844        psStringAppend(&query, " WHERE diff_id IS NULL");
    846845    }
    847846
    848847    if (psListLength(where->list)) {
    849         psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     848        psString whereClause = psDBGenerateWhereConditionSQL(where, "warpsToDiff");
    850849        psStringAppend(&query, " AND %s", whereClause);
    851850        psFree(whereClause);
     
    896895            continue;
    897896        }
    898         psS64 stack_id = psMetadataLookupS64(&mdok, row, "stack_id");
     897        psS64 stack_id = psMetadataLookupS64(&mdok, row, "best_stack_id");
    899898        if (!mdok) {
    900899            psWarning("stack_id not found --- ignoring row %ld", i);
  • trunk/ippTools/src/difftoolConfig.c

    r18618 r18657  
    125125
    126126    // -definebyquery
    127     psMetadata *queueArgs = psMetadataAlloc();
    128     psMetadataAddS64(queueArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
    129     psMetadataAddS64(queueArgs, PS_LIST_TAIL, "-warp_id", 0,            "search by warp ID", 0);
    130     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-skycell_id", 0,            "search by skycell ID", NULL);
    131     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-tess_id", 0,            "search by tess ID", NULL);
    132     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-kind", 0,            "search by kind", NULL);
    133     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-workdir", 0,            "define workdir (required)", NULL);
    134     psMetadataAddTime(queueArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
    135     psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-template",  0,            "search by subtrahend", false);
    136     psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     127    psMetadata *definebyqueryArgs = psMetadataAlloc();
     128    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-diff_id", 0, "search by diff ID", 0);
     129    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-warp_id", 0, "search by warp ID", 0);
     130    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL);
     131    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-tess_id", 0, "search by tess ID", NULL);
     132    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filter", 0, "search by filter", NULL);
     133    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-kind", 0, "search by kind", NULL);
     134    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-workdir", 0, "define workdir (required)", NULL);
     135    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-registered", 0, "time detrend run was registered", now);
     136    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-template", 0, "search by subtrahend", false);
     137    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false);
    137138
    138139    psFree(now);
     
    150151    PXOPT_ADD_MODE("-revertdiffskyfile","", DIFFTOOL_MODE_REVERTDIFFSKYFILE, revertdiffskyfileArgs);
    151152    PXOPT_ADD_MODE("-definepoprun",     "", DIFFTOOL_MODE_DEFINEPOPRUN,      definepoprunArgs);
    152     PXOPT_ADD_MODE("-definebyquery",            "", DIFFTOOL_MODE_DEFINEBYQUERY,             queueArgs);
     153    PXOPT_ADD_MODE("-definebyquery",    "", DIFFTOOL_MODE_DEFINEBYQUERY,     definebyqueryArgs);
    153154
    154155    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note: See TracChangeset for help on using the changeset viewer.