Index: trunk/ippTools/src/regtool.c
===================================================================
--- trunk/ippTools/src/regtool.c	(revision 27210)
+++ trunk/ippTools/src/regtool.c	(revision 27315)
@@ -584,13 +584,28 @@
     psStringPrepend(&whereClause, "\n AND ");
   }
+  PXOPT_LOOKUP_BOOL(compress, config->args, "-compress", false);
+  PXOPT_LOOKUP_BOOL(clean,    config->args, "-clean", false);
+
+  if ((compress && clean)||(!compress & !clean)) {
+    psStringAppend(&whereClause, "\n AND ((data_state = 'goto_compressed' AND state = 'goto_compressed')\n  OR (data_state = 'goto_lossy' AND state = 'goto_lossy')) ");
+  }
+  else if (compress) {
+    psStringAppend(&whereClause, "\n AND ((data_state = 'goto_compressed' AND state = 'goto_compressed')) ");
+  }
+  else if (clean) {
+    psStringAppend(&whereClause, "\n AND ((data_state = 'goto_lossy' AND state = 'goto_lossy')) ");
+  }
+  else {
+    psStringAppend(&whereClause, "\n AND ((data_state = 'goto_compressed' AND state = 'goto_compressed')\n  OR (data_state = 'goto_lossy' AND state = 'goto_lossy')) ");
+  }    
   
   PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
   PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
-
+  
   psString query = pxDataGet("regtool_pendingcompressimfile.sql");
   if (!query) {
     psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     return(false);
-  }
+  }  
   psString limitString = NULL;
   if (limit) {
