Index: trunk/ippTools/src/dettoolConfig.c
===================================================================
--- trunk/ippTools/src/dettoolConfig.c	(revision 28536)
+++ trunk/ippTools/src/dettoolConfig.c	(revision 28558)
@@ -299,9 +299,9 @@
     // -revertprocessedimfile
     psMetadata *revertprocessedimfileArgs = psMetadataAlloc();
-    psMetadataAddS64(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", 0);
+    psMetadataAddS64(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
     psMetadataAddS64(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", 0);
     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     psMetadataAddS16(revertprocessedimfileArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
-
+    psMetadataAddBool(revertprocessedimfileArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
     // -updateprocessedimfile
     psMetadata *updateprocessedimfileArgs = psMetadataAlloc();
@@ -361,8 +361,8 @@
     // -revertprocessedexp
     psMetadata *revertprocessedexpArgs = psMetadataAlloc();
-    psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", 0);
+    psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", 0);
     psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", 0);
     psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
-
+    psMetadataAddBool(revertprocessedexpArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
     // -updateprocessedexp
     psMetadata *updateprocessedexpArgs = psMetadataAlloc();
@@ -425,8 +425,9 @@
     // -revertstacked
     psMetadata *revertstackedArgs= psMetadataAlloc();
-    psMetadataAddS64(revertstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", 0);
+    psMetadataAddS64(revertstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
     psMetadataAddS32(revertstackedArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
     psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     psMetadataAddS16(revertstackedArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
+    psMetadataAddBool(revertstackedArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
 
     // -updatestacked
@@ -477,9 +478,9 @@
     // -revertnormalizedstat
     psMetadata *revertnormalizedstatArgs= psMetadataAlloc();
-    psMetadataAddS64(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", 0);
+    psMetadataAddS64(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", 0);
     psMetadataAddS32(revertnormalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
     psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     psMetadataAddS16(revertnormalizedstatArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
-
+    psMetadataAddBool(revertnormalizedstatArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
     // -updatenormalizedstat
     psMetadata *updatenormalizedstatArgs = psMetadataAlloc();
@@ -539,9 +540,9 @@
     // -revertnormalizedimfile
     psMetadata *revertnormalizedimfileArgs = psMetadataAlloc();
-    psMetadataAddS64(revertnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
+    psMetadataAddS64(revertnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID", 0);
     psMetadataAddS32(revertnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,            "search by class ID", NULL);
     psMetadataAddS16(revertnormalizedimfileArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
-
+    psMetadataAddBool(revertnormalizedimfileArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
     // -updatenormalizedimfile
     psMetadata *updatenormalizedimfileArgs = psMetadataAlloc();
@@ -599,7 +600,8 @@
     // -revertnormalizedexp
     psMetadata *revertnormalizedexpArgs = psMetadataAlloc();
-    psMetadataAddS64(revertnormalizedexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
+    psMetadataAddS64(revertnormalizedexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID", 0);
     psMetadataAddS32(revertnormalizedexpArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     psMetadataAddS16(revertnormalizedexpArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
+    psMetadataAddBool(revertnormalizedexpArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
 
     // -updatenormalizedexp
@@ -675,9 +677,10 @@
     // -revertresidimfile
     psMetadata *revertresidimfileArgs =  psMetadataAlloc();
-    psMetadataAddS64(revertresidimfileArgs, PS_LIST_TAIL, "-det_id", 0,          "search by detrend ID (required)", 0);
+    psMetadataAddS64(revertresidimfileArgs, PS_LIST_TAIL, "-det_id", 0,          "search by detrend ID", 0);
     psMetadataAddS32(revertresidimfileArgs, PS_LIST_TAIL, "-iteration", 0,       "search by iteration number", 0);
     psMetadataAddS64(revertresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,         "search by detrend ID", 0);
     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,       "search for class ID", NULL);
     psMetadataAddS16(revertresidimfileArgs, PS_LIST_TAIL, "-fault",  0,           "search by fault code", 0);
+    psMetadataAddBool(revertresidimfileArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
 
     // -updateresidimfile
@@ -752,9 +755,9 @@
     // -revertresidexp
     psMetadata *revertresidexpArgs = psMetadataAlloc();
-    psMetadataAddS64(revertresidexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
+    psMetadataAddS64(revertresidexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID", 0);
     psMetadataAddS32(revertresidexpArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     psMetadataAddS64(revertresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by detrend ID", 0);
     psMetadataAddS16(revertresidexpArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
-
+    psMetadataAddBool(revertresidexpArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
     // -updateresidexp
     psMetadata *updateresidexpArgs = psMetadataAlloc();
@@ -819,7 +822,8 @@
     // -revertdetrunsummary
     psMetadata *revertdetrunsummaryArgs = psMetadataAlloc();
-    psMetadataAddS64(revertdetrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
+    psMetadataAddS64(revertdetrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID", 0);
     psMetadataAddS32(revertdetrunsummaryArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     psMetadataAddS16(revertdetrunsummaryArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
+    psMetadataAddBool(revertdetrunsummaryArgs, PS_LIST_TAIL, "-all",  0,            "revert all in state 'run'", false);
 
     // -updatedetrunsummary
Index: trunk/ippTools/src/dettool_detrunsummary.c
===================================================================
--- trunk/ippTools/src/dettool_detrunsummary.c	(revision 28536)
+++ trunk/ippTools/src/dettool_detrunsummary.c	(revision 28558)
@@ -306,5 +306,11 @@
     PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
     PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
-    PXOPT_COPY_STR(config->args, where, "-fault",      "fault", "==");
+    PXOPT_COPY_S16(config->args, where, "-fault",      "fault", "==");
+    
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertdetrunsummary.sql");
@@ -327,9 +333,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_normalizedexp.c
===================================================================
--- trunk/ippTools/src/dettool_normalizedexp.c	(revision 28536)
+++ trunk/ippTools/src/dettool_normalizedexp.c	(revision 28558)
@@ -222,4 +222,10 @@
     PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
     PXOPT_COPY_S16(config->args, where, "-fault",      "fault", "==");
+    
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertnormalizedexp.sql");
@@ -242,9 +248,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_normalizedimfile.c
===================================================================
--- trunk/ippTools/src/dettool_normalizedimfile.c	(revision 28536)
+++ trunk/ippTools/src/dettool_normalizedimfile.c	(revision 28558)
@@ -202,4 +202,10 @@
     PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     PXOPT_COPY_S16(config->args, where, "-fault",      "fault", "==");
+    
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertnormalizedimfile.sql");
@@ -222,9 +228,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_normalizedstat.c
===================================================================
--- trunk/ippTools/src/dettool_normalizedstat.c	(revision 28536)
+++ trunk/ippTools/src/dettool_normalizedstat.c	(revision 28558)
@@ -182,4 +182,10 @@
     PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     PXOPT_COPY_S16(config->args, where, "-fault",      "fault", "==");
+    
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertnormalizedstat.sql");
@@ -202,9 +208,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_processedexp.c
===================================================================
--- trunk/ippTools/src/dettool_processedexp.c	(revision 28536)
+++ trunk/ippTools/src/dettool_processedexp.c	(revision 28558)
@@ -232,4 +232,10 @@
     PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
     PXOPT_COPY_S16(config->args, where, "-fault",   "fault", "==");
+    
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertprocessedexp.sql");
@@ -252,9 +258,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_processedimfile.c
===================================================================
--- trunk/ippTools/src/dettool_processedimfile.c	(revision 28536)
+++ trunk/ippTools/src/dettool_processedimfile.c	(revision 28558)
@@ -264,4 +264,10 @@
     PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
     PXOPT_COPY_S16(config->args, where, "-fault", "fault", "==");
+    
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertprocessedimfile.sql");
@@ -284,9 +290,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_residexp.c
===================================================================
--- trunk/ippTools/src/dettool_residexp.c	(revision 28536)
+++ trunk/ippTools/src/dettool_residexp.c	(revision 28558)
@@ -275,4 +275,10 @@
     PXOPT_COPY_S16(config->args, where, "-fault",      "fault", "==");
 
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
+
     psString query = pxDataGet("dettool_revertresidexp.sql");
     if (!query) {
@@ -294,9 +300,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_residimfile.c
===================================================================
--- trunk/ippTools/src/dettool_residimfile.c	(revision 28536)
+++ trunk/ippTools/src/dettool_residimfile.c	(revision 28558)
@@ -250,4 +250,10 @@
     PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     PXOPT_COPY_S16(config->args, where, "-fault",      "fault", "==");
+   
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertresidimfile.sql");
@@ -270,9 +276,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
Index: trunk/ippTools/src/dettool_stack.c
===================================================================
--- trunk/ippTools/src/dettool_stack.c	(revision 28536)
+++ trunk/ippTools/src/dettool_stack.c	(revision 28558)
@@ -287,4 +287,10 @@
     PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     PXOPT_COPY_S16(config->args, where, "-fault",      "fault", "==");
+    
+    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+        psFree(where);
+        psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
+        return false;
+    }
 
     psString query = pxDataGet("dettool_revertstacked.sql");
@@ -307,9 +313,4 @@
     }
     psFree(query);
-
-    if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
-        return false;
-    }
 
     return true;
