Index: trunk/ippTools/src/camqueue.c
===================================================================
--- trunk/ippTools/src/camqueue.c	(revision 12232)
+++ trunk/ippTools/src/camqueue.c	(revision 12237)
@@ -28,4 +28,5 @@
 bool camQueueChipID(pxConfig *config,
                     psS64 chip_id,
+                    psString workdir,
                     psString label,
                     psString recipe,
@@ -50,4 +51,5 @@
     // different on 32/64
     if (!p_psDBRunQuery(config->dbh, query,
+                workdir  ? workdir  : "NULL",
                 label    ? label    : "NULL",
                 recipe   ? recipe   : "NULL",
Index: trunk/ippTools/src/camtool.c
===================================================================
--- trunk/ippTools/src/camtool.c	(revision 12232)
+++ trunk/ippTools/src/camtool.c	(revision 12237)
@@ -171,4 +171,10 @@
 
     bool status = false;
+    psString workdir = psMetadataLookupStr(&status, config->args, "-set_workdir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_workdir");
+        return false;
+    }
+
     psString label = psMetadataLookupStr(&status, config->args, "-set_label");
     if (!status) {
@@ -248,4 +254,5 @@
         if (!camQueueChipID(config,
                     row->chip_id,
+                    workdir     ? workdir   : row->workdir,
                     label       ? label     : row->label,
                     recipe      ? recipe    : row->recipe,
@@ -557,4 +564,5 @@
         pendingRow->cam_id,
         pendingRow->chip_id,
+        pendingRow->workdir,
         pendingRow->label,
         pendingRow->recipe,
Index: trunk/ippTools/src/camtool.h
===================================================================
--- trunk/ippTools/src/camtool.h	(revision 12232)
+++ trunk/ippTools/src/camtool.h	(revision 12237)
@@ -40,4 +40,5 @@
 bool camQueueChipID(pxConfig *config,
                     psS64 chip_id,
+                    psString workdir,
                     psString label,
                     psString recipe,
Index: trunk/ippTools/src/camtoolConfig.c
===================================================================
--- trunk/ippTools/src/camtoolConfig.c	(revision 12232)
+++ trunk/ippTools/src/camtoolConfig.c	(revision 12237)
@@ -90,4 +90,6 @@
     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-object",  0,
             "search by exposure object", NULL);
+    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-set_workdir",  0,
+            "define workdir", NULL);
     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-set_label",  0,
             "define label", NULL);
Index: trunk/ippTools/src/chiptool.c
===================================================================
--- trunk/ippTools/src/chiptool.c	(revision 12232)
+++ trunk/ippTools/src/chiptool.c	(revision 12237)
@@ -795,4 +795,5 @@
         if (!camQueueChipID(config,
                     processedExp->chip_id,
+                    processedExp->workdir,
                     processedExp->label,
                     processedExp->recipe,
@@ -888,4 +889,5 @@
         pendingExp->exp_tag,
         pendingExp->guide_id,
+        pendingExp->workdir,
         pendingExp->label,
         pendingExp->recipe,
Index: trunk/ippTools/src/warptool.c
===================================================================
--- trunk/ippTools/src/warptool.c	(revision 12232)
+++ trunk/ippTools/src/warptool.c	(revision 12237)
@@ -479,28 +479,9 @@
 
     // find all rawImfiles matching the default query
-    psString query = psStringCopy(
-        "SELECT\n"
-        "   warpRun.warp_id,\n"
-        "   camProcessedExp.*,\n"
-        "   rawExp.camera,\n"
-        "   warpRun.workdir\n"
-        " FROM warpRun\n"
-        " JOIN warpInputExp\n"
-        "   USING(warp_id)\n"
-        " JOIN camProcessedExp\n"
-        "   ON warpInputExp.cam_id = camProcessedExp.cam_id\n"
-        " JOIN chipProcessedExp\n"
-        "   ON camProcessedExp.chip_id = chipProcessedExp.chip_id"
-        " JOIN rawExp\n"
-        "   ON chipProcessedExp.exp_tag = rawExp.exp_tag\n"
-        " LEFT JOIN warpSkyCellMap\n"
-        "   ON warpInputExp.warp_id = warpSkyCellMap.warp_id\n"
-        "   AND warpInputExp.cam_id = warpSkyCellMap.cam_id\n"
-        " WHERE\n"
-        "   warpRun.state = 'run'\n"
-        "   AND camProcessedExp.fault = 0\n"
-        "   AND warpSkyCellMap.warp_id IS NULL\n"
-        "   AND warpSkyCellMap.cam_id IS NULL\n"
-    );
+    psString query = pxDataGet("warptool_tooverlap.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
 
     if (config->where) {
