IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 31687 for trunk/ippTools/src


Ignore:
Timestamp:
Jun 22, 2011, 4:12:33 PM (15 years ago)
Author:
bills
Message:

Only add the group by data_group when requested by the user. Use differernt sql
depending on that option.

Location:
trunk/ippTools/src
Files:
2 edited

Legend:

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

    r31681 r31687  
    102102
    103103    // optional
    104     PXOPT_LOOKUP_STR(label,       config->args, "-set_label", false, false);
     104    PXOPT_LOOKUP_STR(label,       config->args, "-set_label", true, false);
    105105    PXOPT_LOOKUP_STR(data_group,  config->args, "-set_data_group", false, false);
    106106    PXOPT_LOOKUP_STR(dist_group,  config->args, "-set_dist_group", false, false);
     
    125125    int num_filter = filters->data.list->n;
    126126
     127    PXOPT_LOOKUP_BOOL(group_by_data_group, config->args, "-group_by_data_group", false);
     128    PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false);
    127129    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    128130    PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
    129131    PXOPT_LOOKUP_BOOL(check_inputs, config->args, "-check_inputs", false);
    130     PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false);
    131 
    132     psString select = pxDataGet("staticskytool_definebyquery_select.sql");
     132
     133    psString select;
     134    if (group_by_data_group) {
     135        select = pxDataGet("staticskytool_definebyquery_select_by_dg.sql");
     136    } else {
     137        select = pxDataGet("staticskytool_definebyquery_select.sql");
     138    }
    133139    if (!select) {
    134140        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     
    150156    psFree(whereMD);
    151157
     158    psString where2 = NULL;
    152159    psString make_unique = NULL;
    153160    if (!rerun) {
     161        psStringAppend(&where2, "\n %s\nAND staticskyRun.label = '%s'", where, label);
    154162        psStringAppend(&make_unique, "\nAND sky_id IS NULL");
    155163    }
    156164
    157     if (!p_psDBRunQueryF(config->dbh, select, where, where, num_filter, make_unique ? make_unique : "")) {
     165    if (!p_psDBRunQueryF(config->dbh, select, where, where2 ? where2 : where, num_filter, make_unique ? make_unique : "")) {
    158166        psError(PS_ERR_UNKNOWN, false, "database error");
    159167        psFree(select);
     
    161169    }
    162170    psFree(select);
     171    psFree(where2);
    163172    psFree(make_unique);
    164173
  • trunk/ippTools/src/staticskytoolConfig.c

    r31681 r31687  
    5353    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-select_label", PS_META_DUPLICATE_OK, "search by stackRun label (LIKE comparison, multiple OK)", NULL);
    5454    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-select_data_group", PS_META_DUPLICATE_OK, "search by stackRun data_group (LIKE comparison, multiple OK)", NULL);
    55     psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-select_filter", PS_META_DUPLICATE_OK, "search by filter (LIKE comparison, multiplei OK)", NULL);
     55    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-select_filter", PS_META_DUPLICATE_OK, "search by filter (LIKE comparison, multiple OK)", NULL);
    5656    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_workdir", 0, "define workdir (required)", NULL);
    57     psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_label", 0, "define label", NULL);
     57    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_label", 0, "define label (required)", NULL);
    5858    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_data_group", 0, "define data group", NULL);
    5959    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_dist_group", 0, "define dist group", NULL);
     
    6161    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_reduction", 0, "define reduction", NULL);
    6262    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-set_registered", 0, "time detrend run was registered", now);
     63    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-group_by_data_group",  0, "queue unique run for each data_group", false);
    6364    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-rerun",  0, "queue new run even if one already exists for inputs", false);
    6465    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",  0, "do not actually modify the database", false);
Note: See TracChangeset for help on using the changeset viewer.