IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 26147


Ignore:
Timestamp:
Nov 13, 2009, 3:21:27 PM (16 years ago)
Author:
Paul Price
Message:

Need to restrict stacks by the label. Reworked how the query is generated --- using hooks instead of multiple parts.

Location:
trunk/ippTools
Files:
1 added
2 deleted
2 edited

Legend:

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

    r26089 r26147  
    247247     stacktool_definebyquery_insert_random_part1.sql \
    248248     stacktool_definebyquery_insert_random_part2.sql \
    249      stacktool_definebyquery_part1.sql \
    250      stacktool_definebyquery_part2.sql \
     249     stacktool_definebyquery_select.sql \
    251250     stacktool_definebyquery_test.sql \
    252251     stacktool_donecleanup.sql \
  • trunk/ippTools/src/stacktool.c

    r25935 r26147  
    150150    PXOPT_COPY_F32(config->args,  where, "-select_iq_m4_min",          "camProcessedExp.iq_m4", ">=");
    151151    PXOPT_COPY_F32(config->args,  where, "-select_iq_m4_max",          "camProcessedExp.iq_m4", "<=");
    152    
     152
    153153    PXOPT_COPY_STR(config->args,  where, "-select_exp_type",           "rawExp.exp_type", "==");
    154154    PXOPT_COPY_F32(config->args,  where, "-select_good_frac_min",      "warpSkyfile.good_frac", ">=");
     
    173173    }
    174174
    175     psString select = pxDataGet("stacktool_definebyquery_part1.sql");
     175    psString select = pxDataGet("stacktool_definebyquery_select.sql");
    176176    if (!select) {
    177177        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     
    179179    }
    180180
     181    psString where1 = psStringCopy("");
    181182    if (psListLength(where->list)) {
    182183        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    183         psStringAppend(&select, " AND %s", whereClause);
     184        psStringAppend(&where1, "\nAND %s", whereClause);
    184185        psFree(whereClause);
    185186    }
    186 
    187     psString groupby = pxDataGet("stacktool_definebyquery_part2.sql");
    188     if (!groupby) {
    189         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
    190         psFree(where);
    191         return false;
    192     }
    193     psStringAppend(&select, " %s", groupby);
    194     psFree(groupby);
     187    psFree(where);
     188
     189    psString where2 = psStringCopy("");
     190    if (label) {
     191        psStringAppend(&where2, "\nWHERE stackRun.label = '%s'", label);
     192    }
    195193
    196194    // Restriction on aggregated quantities using HAVING
     
    224222    psFree(having);
    225223
    226     if (!p_psDBRunQuery(config->dbh, select)) {
     224    if (!p_psDBRunQueryF(config->dbh, select, where1, where2)) {
    227225        psError(PS_ERR_UNKNOWN, false, "database error");
    228226        psFree(select);
    229         psFree(where);
     227        psFree(where1);
     228        psFree(where2);
    230229        return false;
    231230    }
    232231    psFree(select);
     232    psFree(where1);
     233    psFree(where2);
    233234
    234235    psArray *output = p_psDBFetchResult(config->dbh);
Note: See TracChangeset for help on using the changeset viewer.