IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 15, 2008, 10:30:59 AM (18 years ago)
Author:
eugene
Message:

completely deprecate config->where; make all command-line handling consistent; move nearly all sql into share/*.sql; ensure consistency between args supplied and used

File:
1 edited

Legend:

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

    r18518 r18561  
    4747    // -definerun
    4848    psMetadata *definerunArgs = psMetadataAlloc();
    49     psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-workdir", 0,
    50             "define workdir (required)", NULL);
    51     psMetadataAddTime(definerunArgs, PS_LIST_TAIL, "-registered",  0,
    52             "time detrend run was registered", now);
    53     psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-skycell_id",  0,
    54             "define skycell ID (required)", NULL);
    55     psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-tess_id",  0,
    56             "define tessellation ID (required)", NULL);
    57     psMetadataAddBool(definerunArgs, PS_LIST_TAIL, "-simple",  0,
    58             "use the simple output format", false);
     49    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-workdir", 0,            "define workdir (required)", NULL);
     50    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-skycell_id",  0,            "define skycell ID (required)", NULL);
     51    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-tess_id",  0,            "define tessellation ID (required)", NULL);
     52    psMetadataAddTime(definerunArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
     53    psMetadataAddBool(definerunArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    5954
    6055    // -updaterun
    6156    psMetadata *updaterunArgs = psMetadataAlloc();
    62     psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-diff_id", 0,
    63             "define diff ID (required)", 0);
    64     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0,
    65             "set state (required)", NULL);
    66 #if 0
    67     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-workdir", 0,
    68             "define workdir (required)", NULL);
    69     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-registered",  0,
    70             "time detrend run was registered", now);
    71 #endif
     57    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-diff_id", 0,            "define diff ID (required)", 0);
     58    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0,            "set state (required)", NULL);
    7259
    7360    // -addinputskyfile
    7461    psMetadata *addinputskyfileArgs = psMetadataAlloc();
    75     psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
    76             "define diff ID (required)", 0);
    77     psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,
    78             "define warp ID", 0);
    79     psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-stack_id", 0,
    80             "define stack ID", 0);
    81     psMetadataAddStr(addinputskyfileArgs, PS_LIST_TAIL, "-kind", 0,
    82             "define kind", NULL);
    83     psMetadataAddBool(addinputskyfileArgs, PS_LIST_TAIL, "-template",  0,
    84             "this sky cell file is the subtrahend", false);
     62    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "define diff ID (required)", 0);
     63    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-stack_id", 0,            "define stack ID", 0);
     64    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,            "define warp ID", 0);
     65    psMetadataAddStr(addinputskyfileArgs, PS_LIST_TAIL, "-kind", 0,            "define kind", NULL);
     66    psMetadataAddBool(addinputskyfileArgs, PS_LIST_TAIL, "-template",  0,            "this sky cell file is the subtrahend", false);
    8567
    8668    // -inputskyfile
    8769    psMetadata *inputskyfileArgs = psMetadataAlloc();
    88     psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
    89             "search by diff ID", 0);
    90     psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,
    91             "search by warp ID", 0);
    92     psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0,
    93             "search by skycell ID", NULL);
    94     psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-tess_id", 0,
    95             "search by tess ID", NULL);
    96     psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-kind", 0,
    97             "search by kind", NULL);
    98     psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-template",  0,
    99             "search by subtrahend", false);
    100     psMetadataAddU64(inputskyfileArgs, PS_LIST_TAIL, "-limit",  0,
    101             "limit result set to N items", 0);
    102     psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-simple",  0,
    103             "use the simple output format", false);
     70    psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
     71    psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,            "search by warp ID", 0);
     72    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0,            "search by skycell ID", NULL);
     73    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-tess_id", 0,            "search by tess ID", NULL);
     74    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-kind", 0,            "search by kind", NULL);
     75    psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-template",  0,            "search by subtrahend", false);
     76    psMetadataAddU64(inputskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     77    psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    10478
    10579    // -todiffskyfile
    10680    psMetadata *todiffskyfileArgs = psMetadataAlloc();
    107     psMetadataAddS64(todiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
    108             "search by diff ID", 0);
    109     psMetadataAddU64(todiffskyfileArgs, PS_LIST_TAIL, "-limit",  0,
    110             "limit result set to N items", 0);
    111     psMetadataAddBool(todiffskyfileArgs, PS_LIST_TAIL, "-simple",  0,
    112             "use the simple output format", false);
     81    psMetadataAddS64(todiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
     82    psMetadataAddU64(todiffskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     83    psMetadataAddBool(todiffskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    11384
    11485    // -adddiffskyfile
    11586    psMetadata *adddiffskyfileArgs = psMetadataAlloc();
    116     psMetadataAddS64(adddiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
    117             "define warp ID (required)", 0);
    118     psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-uri", 0,
    119             "define URI of file", 0);
    120     psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-path_base", 0,
    121             "define base output location", 0);
    122     psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg",  0,
    123             "define exposure background", NAN);
    124     psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    125             "define exposure background mean stdev", NAN);
    126     psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-dtime_diff",  0,
    127             "define elapsed processing time", NAN);
    128     psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_num",  0,
    129             "define subtraction stamp number", 0);
    130     psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_rms",  0,
    131             "define subtraction stamp rms", NAN);
    132     psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-sources",  0,
    133             "define number of sources", 0);
    134     psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-hostname", 0,
    135             "define hostname", 0);
    136     psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-good_frac",  0,
    137             "define %% of good pixels", NAN);
    138     psMetadataAddS16(adddiffskyfileArgs, PS_LIST_TAIL, "-code",  0,
    139             "set fault code", 0);
     87    psMetadataAddS64(adddiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "define warp ID (required)", 0);
     88    psMetadataAddS16(adddiffskyfileArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     89    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-uri", 0,            "define URI of file", 0);
     90    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-path_base", 0,            "define base output location", 0);
     91    psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     92    psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background mean stdev", NAN);
     93    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-dtime_diff",  0,            "define elapsed processing time", NAN);
     94    psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_num",  0,            "define subtraction stamp number", 0);
     95    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_rms",  0,            "define subtraction stamp rms", NAN);
     96    psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-sources",  0,            "define number of sources", 0);
     97    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-hostname", 0,            "define hostname", 0);
     98    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-good_frac",  0,            "define %% of good pixels", NAN);
    14099
    141100    // -diffskyfile
    142101    psMetadata *diffskyfileArgs = psMetadataAlloc();
    143     psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
    144             "search by warp ID", 0);
    145     psMetadataAddStr(diffskyfileArgs , PS_LIST_TAIL, "-skycell_id",  0,
    146             "define skycell ID", NULL);
    147     psMetadataAddStr(diffskyfileArgs, PS_LIST_TAIL, "-tess_id",  0,
    148             "define tessellation ID", NULL);
    149     psMetadataAddU64(diffskyfileArgs, PS_LIST_TAIL, "-limit",  0,
    150             "limit result set to N items", 0);
    151     psMetadataAddBool(diffskyfileArgs, PS_LIST_TAIL, "-simple",  0,
    152             "use the simple output format", false);
     102    psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by warp ID", 0);
     103    psMetadataAddStr(diffskyfileArgs , PS_LIST_TAIL, "-skycell_id",  0,            "define skycell ID", NULL);
     104    psMetadataAddStr(diffskyfileArgs, PS_LIST_TAIL, "-tess_id",  0,            "define tessellation ID", NULL);
     105    psMetadataAddU64(diffskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     106    psMetadataAddBool(diffskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    153107
    154108    // -revertdiffskyfile
    155109    psMetadata *revertdiffskyfileArgs = psMetadataAlloc();
    156     psMetadataAddS64(revertdiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
    157             "define warp ID (required)", 0);
    158     psMetadataAddS16(revertdiffskyfileArgs, PS_LIST_TAIL, "-code",  0,
    159             "search by fault code", 0);
     110    psMetadataAddS64(revertdiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "define warp ID (required)", 0);
     111    psMetadataAddS16(revertdiffskyfileArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    160112
    161113    // -definepoprun
    162114    psMetadata *definepoprunArgs = psMetadataAlloc();
    163     psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-workdir", 0,
    164             "define workdir (required)", NULL);
    165     psMetadataAddTime(definepoprunArgs, PS_LIST_TAIL, "-registered",  0,
    166             "time detrend run was registered", now);
    167     psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-skycell_id",  0,
    168             "define skycell ID (required)", NULL);
    169     psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-tess_id",  0,
    170             "define tessellation ID (required)", NULL);
    171     psMetadataAddBool(definepoprunArgs, PS_LIST_TAIL, "-simple",  0,
    172             "use the simple output format", false);
    173     psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_warp_id", 0,
    174             "define warp ID for template", 0);
    175     psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_stack_id", 0,
    176             "define stack ID for template", 0);
    177     psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_warp_id", 0,
    178             "define warp ID for input", 0);
    179     psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_stack_id", 0,
    180             "define stack ID for input", 0);
     115    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-workdir", 0,            "define workdir (required)", NULL);
     116    psMetadataAddTime(definepoprunArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
     117    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-skycell_id",  0,            "define skycell ID (required)", NULL);
     118    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-tess_id",  0,            "define tessellation ID (required)", NULL);
     119    psMetadataAddBool(definepoprunArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     120    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_warp_id", 0,            "define warp ID for template", 0);
     121    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_stack_id", 0,            "define stack ID for template", 0);
     122    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_warp_id", 0,            "define warp ID for input", 0);
     123    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_stack_id", 0,            "define stack ID for input", 0);
    181124
    182125    // -definebyquery
    183126    psMetadata *queueArgs = psMetadataAlloc();
    184     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-workdir", 0,
    185             "define workdir (required)", NULL);
    186     psMetadataAddTime(queueArgs, PS_LIST_TAIL, "-registered",  0,
    187             "time detrend run was registered", now);
    188     psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-simple",  0,
    189             "use the simple output format", false);
     127    psMetadataAddS64(queueArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
     128    psMetadataAddS64(queueArgs, PS_LIST_TAIL, "-warp_id", 0,            "search by warp ID", 0);
     129    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-skycell_id", 0,            "search by skycell ID", NULL);
     130    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-tess_id", 0,            "search by tess ID", NULL);
     131    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-kind", 0,            "search by kind", NULL);
     132    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-workdir", 0,            "define workdir (required)", NULL);
     133    psMetadataAddTime(queueArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
     134    psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-template",  0,            "search by subtrahend", false);
     135    psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    190136
    191137    psFree(now);
     
    216162    psFree(modes);
    217163
    218     // setup search criterion
    219 #define addWhereStr(name) \
    220 { \
    221     psString str = NULL; \
    222     bool status = false; \
    223     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    224         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\
    225             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    226             psFree(config); \
    227             return NULL; \
    228         } \
    229     } \
    230 }
    231 
    232 #define addWhereS32(name) \
    233 { \
    234     psS32 s32 = 0; \
    235     bool status = false; \
    236     if ((s32= psMetadataLookupS32(&status, config->args, "-" #name))) { \
    237         if (!psMetadataAddS32(config->where, PS_LIST_TAIL, #name, 0, "==", s32)) { \
    238             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    239             psFree(config); \
    240             return NULL; \
    241         } \
    242     } \
    243 }
    244 
    245 
    246     // generate SQL where clause
    247     config->where = psMetadataAlloc();
    248 
    249 {
    250     psS64 s64 = 0;
    251     bool status = false;
    252     if ((s64 = psMetadataLookupS64(&status, config->args, "-diff_id"))) {
    253         if (!psMetadataAddS64(config->where, PS_LIST_TAIL, "diff_id", 0, "==", s64)) {
    254             psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
    255             psFree(config);
    256             return NULL;
    257         }
    258     }
    259 }
    260 {
    261     psString str = NULL;
    262     bool status = false;
    263     if ((str = psMetadataLookupStr(&status, config->args, "-warp_id"))) {
    264         if (!psMetadataAddS64(config->where, PS_LIST_TAIL, "warp_id", 0, "==", (psS64)atoll(str))) {
    265             psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    266             psFree(config);
    267             return NULL;
    268         }
    269     }
    270 }
    271     addWhereStr(skycell_id);
    272     addWhereStr(tess_id);
    273 
    274     // convert '-code' to 'fault'
    275     {
    276         psS16 fault = 0;
    277         bool status = false;
    278         if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
    279             if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
    280                 psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    281                 psFree(config);
    282                 return NULL;
    283             }
    284         }
    285     }
    286 
    287     if (config->where->list->n < 1) {
    288         psFree(config->where);
    289         config->where = NULL;
    290     }
    291 
    292164    // define Database handle, if used
    293165    // do this last so we don't setup a connection before CLI options are
Note: See TracChangeset for help on using the changeset viewer.