IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 13, 2009, 2:10:43 PM (16 years ago)
Author:
Paul Price
Message:

Need to distinguish the two sets of warp restrictions.

File:
1 edited

Legend:

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

    r26138 r26139  
    11381138
    11391139    psMetadata *expWhere = psMetadataAlloc();
    1140     psMetadata *warpWhere = psMetadataAlloc();
     1140    psMetadata *warp1Where = psMetadataAlloc(); // First set of restrictions on warp
     1141    psMetadata *warp2Where = psMetadataAlloc(); // Second set of restriction on warp
    11411142    psMetadata *stackWhere = psMetadataAlloc();
    11421143
    11431144    PXOPT_COPY_S64(config->args, expWhere, "-exp_id", "exp_id", "==");
    11441145    PXOPT_COPY_STR(config->args, expWhere, "-filter", "filter", "==");
    1145     PXOPT_COPY_S64(config->args, warpWhere, "-warp_id", "warpRun.warp_id", "==");
    1146     PXOPT_COPY_STR(config->args, warpWhere, "-skycell_id", "warpSkyfile.skycell_id", "==");
    1147     PXOPT_COPY_STR(config->args, warpWhere, "-tess_id", "warpRun.tess_id", "==");
    1148     PXOPT_COPY_STR(config->args, warpWhere, "-warp_label", "warpRun.label", "==");
    1149     PXOPT_COPY_F32(config->args, warpWhere,  "-good_frac", "warpSkyfile.good_frac", ">=");
     1146    PXOPT_COPY_S64(config->args, warp1Where, "-warp_id", "warpRun.warp_id", "==");
     1147    PXOPT_COPY_STR(config->args, warp1Where, "-warp_label", "warpRun.label", "==");
     1148    PXOPT_COPY_STR(config->args, warp1Where, "-tess_id", "warpRun.tess_id", "==");
     1149    PXOPT_COPY_S64(config->args, warp2Where, "-warp_id", "warpRun.warp_id", "==");
     1150    PXOPT_COPY_STR(config->args, warp2Where, "-tess_id", "warpRun.tess_id", "==");
     1151    PXOPT_COPY_STR(config->args, warp2Where, "-skycell_id", "warpSkyfile.skycell_id", "==");
     1152    PXOPT_COPY_STR(config->args, warp2Where, "-warp_label", "warpRun.label", "==");
     1153    PXOPT_COPY_F32(config->args, warp2Where,  "-good_frac", "warpSkyfile.good_frac", ">=");
    11501154    PXOPT_COPY_STR(config->args, stackWhere, "-stack_label", "stackRun.label", "==");
    11511155
     
    11711175    }
    11721176
    1173     psString warpQuery = NULL;
     1177    psString warp1Query = NULL;
     1178    psString warp2Query = NULL;
    11741179    psString stackQuery = NULL;
    11751180    psString expQuery = NULL;
     
    11831188    }
    11841189    psFree(expWhere);
    1185     if (psListLength(warpWhere->list)) {
    1186         psString whereClause = psDBGenerateWhereConditionSQL(warpWhere, NULL);
    1187         psStringAppend(&warpQuery, "\n AND %s", whereClause);
     1190    if (psListLength(warp1Where->list)) {
     1191        psString whereClause = psDBGenerateWhereConditionSQL(warp1Where, NULL);
     1192        psStringAppend(&warp1Query, "\n AND %s", whereClause);
    11881193        psFree(whereClause);
    11891194    } else {
    1190         warpQuery = psStringCopy("\n");
    1191     }
    1192     psFree(warpWhere);
     1195        warp1Query = psStringCopy("\n");
     1196    }
     1197    psFree(warp1Where);
     1198    if (psListLength(warp2Where->list)) {
     1199        psString whereClause = psDBGenerateWhereConditionSQL(warp2Where, NULL);
     1200        psStringAppend(&warp2Query, "\n AND %s", whereClause);
     1201        psFree(whereClause);
     1202    } else {
     1203        warp2Query = psStringCopy("\n");
     1204    }
     1205    psFree(warp2Where);
    11931206
    11941207    if (!available) {
    11951208        // diff what's available, even if warp run has some faults and is incomplete
    1196         psStringAppend(&warpQuery, " AND warpRun.state = 'full'");
     1209        psStringAppend(&warp1Query, " AND warpRun.state = 'full'");
     1210        psStringAppend(&warp2Query, " AND warpRun.state = 'full'");
    11971211    }
    11981212
     
    12141228    psFree(stackWhere);
    12151229
    1216     psTrace("difftool", 1, query, warpQuery, diffQuery, expQuery, stackQuery);
     1230    psTrace("difftool", 1, query, warp1Query, warp2Query, diffQuery, expQuery, stackQuery);
    12171231
    12181232    if (!psDBTransaction(config->dbh)) {
     
    12211235    }
    12221236
    1223     if (!p_psDBRunQueryF(config->dbh, query, warpQuery, warpQuery, expQuery, diffQuery)) {
     1237    if (!p_psDBRunQueryF(config->dbh, query, warp1Query, warp2Query, expQuery, diffQuery)) {
    12241238        psError(PS_ERR_UNKNOWN, false, "database error");
    12251239        psFree(query);
     
    12811295        return false;
    12821296    }
     1297    psFree(warp1Query);
    12831298    psFree(query);
    12841299    query = NULL;
     
    13121327        if (!p_psDBRunQuery(config->dbh, "DELETE FROM skycellsToDiff")) {
    13131328            psError(PS_ERR_UNKNOWN, false, "database error");
    1314             psFree(warpQuery);
     1329            psFree(warp2Query);
    13151330            psFree(stackQuery);
    13161331            psFree(skycell_query);
     
    13231338        if (!mdok) {
    13241339            psError(PXTOOLS_ERR_PROG, false, "warp_id not found --- ignoring row %ld", i);
    1325             psFree(warpQuery);
     1340            psFree(warp2Query);
    13261341            psFree(stackQuery);
    13271342            psFree(skycell_query);
     
    13341349        if (!mdok) {
    13351350            psError(PXTOOLS_ERR_PROG, false, "skycell_count not found");
    1336             psFree(warpQuery);
     1351            psFree(warp2Query);
    13371352            psFree(stackQuery);
    13381353            psFree(skycell_query);
     
    13451360        if (!mdok) {
    13461361            psError(PXTOOLS_ERR_PROG, false, "tess_id not found");
    1347             psFree(warpQuery);
     1362            psFree(warp2Query);
    13481363            psFree(stackQuery);
    13491364            psFree(skycell_query);
     
    13561371        if (!mdok) {
    13571372            psError(PXTOOLS_ERR_PROG, false, "filter not found");
    1358             psFree(warpQuery);
     1373            psFree(warp2Query);
    13591374            psFree(stackQuery);
    13601375            psFree(skycell_query);
     
    13641379            return false;
    13651380        }
    1366         if (!p_psDBRunQueryF(config->dbh, skycell_query, stackQuery, warp_id, filter, warpQuery)) {
    1367             psError(PS_ERR_UNKNOWN, false, "database error");
    1368             psFree(warpQuery);
     1381        if (!p_psDBRunQueryF(config->dbh, skycell_query, stackQuery, warp_id, filter, warp2Query)) {
     1382            psError(PS_ERR_UNKNOWN, false, "database error");
     1383            psFree(warp2Query);
    13691384            psFree(stackQuery);
    13701385            psFree(skycell_query);
     
    14181433        if (!p_psDBRunQuery(config->dbh, query)) {
    14191434            psError(PS_ERR_UNKNOWN, false, "database error");
    1420             psFree(warpQuery);
     1435            psFree(warp2Query);
    14211436            psFree(stackQuery);
    14221437            psFree(skycell_query);
     
    14321447        if (!p_psDBRunQuery(config->dbh, query)) {
    14331448            psError(PS_ERR_UNKNOWN, false, "database error");
    1434             psFree(warpQuery);
     1449            psFree(warp2Query);
    14351450            psFree(stackQuery);
    14361451            psFree(skycell_query);
     
    14471462            psError(PS_ERR_UNKNOWN, false, "failed to change diffRun.state for diff_id: %" PRId64,
    14481463                run->diff_id);
    1449             psFree(warpQuery);
     1464            psFree(warp2Query);
    14501465            psFree(stackQuery);
    14511466            psFree(skycell_query);
     
    14611476    }
    14621477    psFree(output);
    1463     psFree(warpQuery);
     1478    psFree(warp2Query);
    14641479    psFree(stackQuery);
    14651480    psFree(skycell_query);
Note: See TracChangeset for help on using the changeset viewer.