Index: trunk/ippTools/src/difftoolConfig.c
===================================================================
--- trunk/ippTools/src/difftoolConfig.c	(revision 18518)
+++ trunk/ippTools/src/difftoolConfig.c	(revision 18561)
@@ -47,145 +47,91 @@
     // -definerun
     psMetadata *definerunArgs = psMetadataAlloc();
-    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-workdir", 0,
-            "define workdir (required)", NULL);
-    psMetadataAddTime(definerunArgs, PS_LIST_TAIL, "-registered",  0,
-            "time detrend run was registered", now);
-    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-skycell_id",  0,
-            "define skycell ID (required)", NULL);
-    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-tess_id",  0,
-            "define tessellation ID (required)", NULL);
-    psMetadataAddBool(definerunArgs, PS_LIST_TAIL, "-simple",  0,
-            "use the simple output format", false);
+    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-workdir", 0,            "define workdir (required)", NULL);
+    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-skycell_id",  0,            "define skycell ID (required)", NULL);
+    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-tess_id",  0,            "define tessellation ID (required)", NULL);
+    psMetadataAddTime(definerunArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
+    psMetadataAddBool(definerunArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
 
     // -updaterun
     psMetadata *updaterunArgs = psMetadataAlloc();
-    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-diff_id", 0,
-            "define diff ID (required)", 0);
-    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0,
-            "set state (required)", NULL);
-#if 0
-    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-workdir", 0,
-            "define workdir (required)", NULL);
-    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-registered",  0,
-            "time detrend run was registered", now);
-#endif
+    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-diff_id", 0,            "define diff ID (required)", 0);
+    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0,            "set state (required)", NULL);
 
     // -addinputskyfile
     psMetadata *addinputskyfileArgs = psMetadataAlloc();
-    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
-            "define diff ID (required)", 0);
-    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,
-            "define warp ID", 0);
-    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-stack_id", 0,
-            "define stack ID", 0);
-    psMetadataAddStr(addinputskyfileArgs, PS_LIST_TAIL, "-kind", 0,
-            "define kind", NULL);
-    psMetadataAddBool(addinputskyfileArgs, PS_LIST_TAIL, "-template",  0,
-            "this sky cell file is the subtrahend", false);
+    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "define diff ID (required)", 0);
+    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-stack_id", 0,            "define stack ID", 0);
+    psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,            "define warp ID", 0);
+    psMetadataAddStr(addinputskyfileArgs, PS_LIST_TAIL, "-kind", 0,            "define kind", NULL);
+    psMetadataAddBool(addinputskyfileArgs, PS_LIST_TAIL, "-template",  0,            "this sky cell file is the subtrahend", false);
 
     // -inputskyfile
     psMetadata *inputskyfileArgs = psMetadataAlloc();
-    psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
-            "search by diff ID", 0);
-    psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,
-            "search by warp ID", 0);
-    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0,
-            "search by skycell ID", NULL);
-    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-tess_id", 0,
-            "search by tess ID", NULL);
-    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-kind", 0,
-            "search by kind", NULL);
-    psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-template",  0,
-            "search by subtrahend", false);
-    psMetadataAddU64(inputskyfileArgs, PS_LIST_TAIL, "-limit",  0,
-            "limit result set to N items", 0);
-    psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-simple",  0,
-            "use the simple output format", false);
+    psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
+    psMetadataAddS64(inputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0,            "search by warp ID", 0);
+    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0,            "search by skycell ID", NULL);
+    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-tess_id", 0,            "search by tess ID", NULL);
+    psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-kind", 0,            "search by kind", NULL);
+    psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-template",  0,            "search by subtrahend", false);
+    psMetadataAddU64(inputskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
+    psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
 
     // -todiffskyfile
     psMetadata *todiffskyfileArgs = psMetadataAlloc();
-    psMetadataAddS64(todiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
-            "search by diff ID", 0);
-    psMetadataAddU64(todiffskyfileArgs, PS_LIST_TAIL, "-limit",  0,
-            "limit result set to N items", 0);
-    psMetadataAddBool(todiffskyfileArgs, PS_LIST_TAIL, "-simple",  0,
-            "use the simple output format", false);
+    psMetadataAddS64(todiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
+    psMetadataAddU64(todiffskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
+    psMetadataAddBool(todiffskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
 
     // -adddiffskyfile
     psMetadata *adddiffskyfileArgs = psMetadataAlloc();
-    psMetadataAddS64(adddiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
-            "define warp ID (required)", 0);
-    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-uri", 0,
-            "define URI of file", 0);
-    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-path_base", 0,
-            "define base output location", 0);
-    psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposure background", NAN);
-    psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposure background mean stdev", NAN);
-    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-dtime_diff",  0,
-            "define elapsed processing time", NAN);
-    psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_num",  0,
-            "define subtraction stamp number", 0);
-    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_rms",  0,
-            "define subtraction stamp rms", NAN);
-    psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-sources",  0,
-            "define number of sources", 0);
-    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-hostname", 0,
-            "define hostname", 0);
-    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-good_frac",  0,
-            "define %% of good pixels", NAN);
-    psMetadataAddS16(adddiffskyfileArgs, PS_LIST_TAIL, "-code",  0,
-            "set fault code", 0);
+    psMetadataAddS64(adddiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "define warp ID (required)", 0);
+    psMetadataAddS16(adddiffskyfileArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
+    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-uri", 0,            "define URI of file", 0);
+    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-path_base", 0,            "define base output location", 0);
+    psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
+    psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background mean stdev", NAN);
+    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-dtime_diff",  0,            "define elapsed processing time", NAN);
+    psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_num",  0,            "define subtraction stamp number", 0);
+    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_rms",  0,            "define subtraction stamp rms", NAN);
+    psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-sources",  0,            "define number of sources", 0);
+    psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-hostname", 0,            "define hostname", 0);
+    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-good_frac",  0,            "define %% of good pixels", NAN);
 
     // -diffskyfile
     psMetadata *diffskyfileArgs = psMetadataAlloc();
-    psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
-            "search by warp ID", 0);
-    psMetadataAddStr(diffskyfileArgs , PS_LIST_TAIL, "-skycell_id",  0,
-            "define skycell ID", NULL);
-    psMetadataAddStr(diffskyfileArgs, PS_LIST_TAIL, "-tess_id",  0,
-            "define tessellation ID", NULL);
-    psMetadataAddU64(diffskyfileArgs, PS_LIST_TAIL, "-limit",  0,
-            "limit result set to N items", 0);
-    psMetadataAddBool(diffskyfileArgs, PS_LIST_TAIL, "-simple",  0,
-            "use the simple output format", false);
+    psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by warp ID", 0);
+    psMetadataAddStr(diffskyfileArgs , PS_LIST_TAIL, "-skycell_id",  0,            "define skycell ID", NULL);
+    psMetadataAddStr(diffskyfileArgs, PS_LIST_TAIL, "-tess_id",  0,            "define tessellation ID", NULL);
+    psMetadataAddU64(diffskyfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
+    psMetadataAddBool(diffskyfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
 
     // -revertdiffskyfile
     psMetadata *revertdiffskyfileArgs = psMetadataAlloc();
-    psMetadataAddS64(revertdiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,
-            "define warp ID (required)", 0);
-    psMetadataAddS16(revertdiffskyfileArgs, PS_LIST_TAIL, "-code",  0,
-            "search by fault code", 0);
+    psMetadataAddS64(revertdiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "define warp ID (required)", 0);
+    psMetadataAddS16(revertdiffskyfileArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
 
     // -definepoprun
     psMetadata *definepoprunArgs = psMetadataAlloc();
-    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-workdir", 0,
-            "define workdir (required)", NULL);
-    psMetadataAddTime(definepoprunArgs, PS_LIST_TAIL, "-registered",  0,
-            "time detrend run was registered", now);
-    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-skycell_id",  0,
-            "define skycell ID (required)", NULL);
-    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-tess_id",  0,
-            "define tessellation ID (required)", NULL);
-    psMetadataAddBool(definepoprunArgs, PS_LIST_TAIL, "-simple",  0,
-            "use the simple output format", false);
-    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_warp_id", 0,
-            "define warp ID for template", 0);
-    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_stack_id", 0,
-            "define stack ID for template", 0);
-    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_warp_id", 0,
-            "define warp ID for input", 0);
-    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_stack_id", 0,
-            "define stack ID for input", 0);
+    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-workdir", 0,            "define workdir (required)", NULL);
+    psMetadataAddTime(definepoprunArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
+    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-skycell_id",  0,            "define skycell ID (required)", NULL);
+    psMetadataAddStr(definepoprunArgs, PS_LIST_TAIL, "-tess_id",  0,            "define tessellation ID (required)", NULL);
+    psMetadataAddBool(definepoprunArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
+    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_warp_id", 0,            "define warp ID for template", 0);
+    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-template_stack_id", 0,            "define stack ID for template", 0);
+    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_warp_id", 0,            "define warp ID for input", 0);
+    psMetadataAddS64(definepoprunArgs, PS_LIST_TAIL, "-input_stack_id", 0,            "define stack ID for input", 0);
 
     // -definebyquery
     psMetadata *queueArgs = psMetadataAlloc();
-    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-workdir", 0,
-            "define workdir (required)", NULL);
-    psMetadataAddTime(queueArgs, PS_LIST_TAIL, "-registered",  0,
-            "time detrend run was registered", now);
-    psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-simple",  0,
-            "use the simple output format", false);
+    psMetadataAddS64(queueArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
+    psMetadataAddS64(queueArgs, PS_LIST_TAIL, "-warp_id", 0,            "search by warp ID", 0);
+    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-skycell_id", 0,            "search by skycell ID", NULL);
+    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-tess_id", 0,            "search by tess ID", NULL);
+    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-kind", 0,            "search by kind", NULL);
+    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-workdir", 0,            "define workdir (required)", NULL);
+    psMetadataAddTime(queueArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
+    psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-template",  0,            "search by subtrahend", false);
+    psMetadataAddBool(queueArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
 
     psFree(now);
@@ -216,78 +162,4 @@
     psFree(modes);
 
-    // setup search criterion
-#define addWhereStr(name) \
-{ \
-    psString str = NULL; \
-    bool status = false; \
-    if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
-        if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\
-            psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
-            psFree(config); \
-            return NULL; \
-        } \
-    } \
-}
-
-#define addWhereS32(name) \
-{ \
-    psS32 s32 = 0; \
-    bool status = false; \
-    if ((s32= psMetadataLookupS32(&status, config->args, "-" #name))) { \
-        if (!psMetadataAddS32(config->where, PS_LIST_TAIL, #name, 0, "==", s32)) { \
-            psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
-            psFree(config); \
-            return NULL; \
-        } \
-    } \
-}
-
-
-    // generate SQL where clause
-    config->where = psMetadataAlloc();
-
-{
-    psS64 s64 = 0;
-    bool status = false;
-    if ((s64 = psMetadataLookupS64(&status, config->args, "-diff_id"))) {
-        if (!psMetadataAddS64(config->where, PS_LIST_TAIL, "diff_id", 0, "==", s64)) {
-            psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
-            psFree(config);
-            return NULL;
-        }
-    }
-}
-{
-    psString str = NULL;
-    bool status = false;
-    if ((str = psMetadataLookupStr(&status, config->args, "-warp_id"))) {
-        if (!psMetadataAddS64(config->where, PS_LIST_TAIL, "warp_id", 0, "==", (psS64)atoll(str))) {
-            psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
-            psFree(config);
-            return NULL;
-        }
-    }
-}
-    addWhereStr(skycell_id);
-    addWhereStr(tess_id);
-
-    // convert '-code' to 'fault'
-    {
-        psS16 fault = 0;
-        bool status = false;
-        if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
-            if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
-                psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
-                psFree(config);
-                return NULL;
-            }
-        }
-    }
-
-    if (config->where->list->n < 1) {
-        psFree(config->where);
-        config->where = NULL;
-    }
-
     // define Database handle, if used
     // do this last so we don't setup a connection before CLI options are
