Index: trunk/ippTools/src/chiptool.c
===================================================================
--- trunk/ippTools/src/chiptool.c	(revision 25706)
+++ trunk/ippTools/src/chiptool.c	(revision 25775)
@@ -605,12 +605,9 @@
     PXOPT_COPY_S64(config->args, where, "-magicked", "chipProcessedImfile.magicked", "==");
 
-    PXOPT_LOOKUP_U64(magicked, config->args, "-magicked", false, false);
-    PXOPT_LOOKUP_BOOL(destreaked, config->args,     "-destreaked", false);
-    PXOPT_LOOKUP_BOOL(not_destreaked, config->args, "-not_destreaked", false);
-
-    if (!psListLength(where->list) &&
-        !psMetadataLookupBool(NULL, config->args, "-all")) {
-        psFree(where);
-        psError(PXTOOLS_ERR_DATA, false, "search parameters (or -all) are required");
+    psString where2 = NULL;
+    pxmagicAddWhere(config, &where2, "chipProcessedImfile");
+    // add cuts on ra and decl if supplied
+    if (!pxspaceAddWhere(config, &where2, "rawExp")) {
+        psError(PXTOOLS_ERR_DATA, false, "pxSpaceAddWhere failed");
         return false;
     }
@@ -622,8 +619,14 @@
     }
 
-    if (where && psListLength(where->list)) {
+    if (psListLength(where->list)) {
         psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
         psStringAppend(&query, " WHERE %s", whereClause);
         psFree(whereClause);
+    } else if (!psMetadataLookupBool(NULL, config->args, "-all") && (faulted || where2)) {
+        psStringAppend(&query, " WHERE chipRun.chip_id IS NOT NULL %s", where2);
+    } else {
+        psFree(where);
+        psError(PXTOOLS_ERR_DATA, false, "search parameters (or -all) are required");
+        return false;
     }
     psFree(where);
@@ -635,18 +638,4 @@
         // don't list faulted rows
         psStringAppend(&query, " %s", "AND chipProcessedImfile.fault = 0");
-    }
-    if (not_destreaked) {
-        if (destreaked) {
-            psError(PXTOOLS_ERR_DATA, true, "providing -not_destreaked and -destreaked makes no sense");
-            return false;
-        }
-        if (magicked) {
-            psError(PXTOOLS_ERR_DATA, true, "providing -not_destreaked and -magicked makes no sense");
-            return false;
-        }
-        psStringAppend(&query, " AND chipProcessedImfile.magicked = 0");
-    }
-    if (destreaked) {
-        psStringAppend(&query, " AND chipProcessedImfile.magicked != 0");
     }
 
