Index: trunk/ippTools/src/pxchip.c
===================================================================
--- trunk/ippTools/src/pxchip.c	(revision 40288)
+++ trunk/ippTools/src/pxchip.c	(revision 40290)
@@ -43,4 +43,5 @@
     psMetadataAddStr(md,  PS_LIST_TAIL, "-exp_tag",            0, "search by exp_tag", NULL);
     psMetadataAddStr(md,  PS_LIST_TAIL, "-exp_type",           0, "search by exp_type", NULL);
+    psMetadataAddStr(md,  PS_LIST_TAIL, "-data_state",         0, "search by data_state", NULL);
     psMetadataAddStr(md,  PS_LIST_TAIL, "-filelevel",          0, "search by filelevel", NULL);
     psMetadataAddStr(md,  PS_LIST_TAIL, "-filter",             0, "search for filter", NULL);
@@ -73,4 +74,5 @@
     psMetadataAddStr(md,  PS_LIST_TAIL, "-object",             0, "search by exposure object (LIKE comparison)", NULL);
     psMetadataAddStr(md,  PS_LIST_TAIL, "-comment",            0, "search by comment field (LIKE comparison)", NULL);
+    psMetadataAddStr(md,  PS_LIST_TAIL, "-comment-skip",       0, "exclude by comment field (NOT LIKE comparison)", NULL);
     psMetadataAddStr(md,  PS_LIST_TAIL, "-obs_mode",           0, "search by observation mode", NULL);
     return true;
@@ -95,4 +97,5 @@
     PXOPT_COPY_STR(config->args, where, "-exp_tag", "rawExp.exp_tag", "==");
     PXOPT_COPY_STR(config->args, where, "-exp_type", "rawExp.exp_type", "==");
+    PXOPT_COPY_STR(config->args, where, "-data_state", "rawExp.state", "==");
     PXOPT_COPY_STR(config->args, where, "-filelevel", "rawExp.filelevel", "==");
     PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "LIKE");
@@ -125,4 +128,5 @@
     PXOPT_COPY_F32(config->args, where, "-sun_angle_max", "rawExp.sun_angle", "<");
     PXOPT_COPY_STR(config->args, where, "-comment", "rawExp.comment", "LIKE");
+    PXOPT_COPY_STR(config->args, where, "-comment-skip", "rawExp.comment", "NOTLKE");
     PXOPT_COPY_STR(config->args, where, "-obs_mode", "rawExp.obs_mode", "LIKE");
     return true;
Index: trunk/psLib/src/db/psDB.c
===================================================================
--- trunk/psLib/src/db/psDB.c	(revision 40288)
+++ trunk/psLib/src/db/psDB.c	(revision 40290)
@@ -2425,4 +2425,10 @@
                 // used in a where clause...
                 psStringAppend(&query, "%s LIKE '%s'", itemName, item->data.str);
+            } else if (item->comment && psStrcasestr(item->comment, "NOTLKE")) {
+                // XXX ASC NOTE: we should have a better match for
+                // char & varchar columns than this.  LIKE is OK for
+                // very large TEXT columns that really shouldn't be
+                // used in a where clause...
+                psStringAppend(&query, "%s NOT LIKE '%s'", itemName, item->data.str);
             } else {
                 psStringAppend(&query, "%s %s '%s'", itemName, opStr, item->data.str);
