Index: trunk/ippTools/share/Makefile.am
===================================================================
--- trunk/ippTools/share/Makefile.am	(revision 12261)
+++ trunk/ippTools/share/Makefile.am	(revision 12262)
@@ -13,4 +13,7 @@
 	detselect_search.sql \
 	detselect_select.sql \
+	difftool_inputskyfile.sql \
+	difftool_skyfile.sql \
+	difftool_todiffskyfile.sql \
 	regtool_find_unprocessed_exp.sql \
 	regtool_find_unprocessed_imfile.sql \
Index: trunk/ippTools/share/difftool_inputskyfile.sql
===================================================================
--- trunk/ippTools/share/difftool_inputskyfile.sql	(revision 12262)
+++ trunk/ippTools/share/difftool_inputskyfile.sql	(revision 12262)
@@ -0,0 +1,22 @@
+SELECT
+    warpSkyfile.*,
+    diffInputSkyfile.template,
+    rawExp.camera
+FROM diffRun
+JOIN diffInputSkyfile
+    USING(diff_id)
+JOIN warpSkyfile
+    ON  diffInputSkyfile.warp_id    = warpSkyfile.warp_id
+    AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id
+    AND diffInputSkyfile.tess_id    = warpSkyfile.tess_id
+JOIN warpInputExp
+    ON diffInputSkyfile.warp_id = warpInputExp.warp_id
+JOIN chipProcessedExp
+    ON warpInputExp.cam_id = camProcessedExp.cam_id
+JOIN camProcessedExp
+    ON camProcessedExp.chip_id = chipProcessedExp.chip_id
+JOIN rawExp
+    ON chipProcessedExp.exp_tag = rawExp.exp_tag
+WHERE
+    diffRun.state = 'run'
+
Index: trunk/ippTools/share/difftool_skyfile.sql
===================================================================
--- trunk/ippTools/share/difftool_skyfile.sql	(revision 12262)
+++ trunk/ippTools/share/difftool_skyfile.sql	(revision 12262)
@@ -0,0 +1,10 @@
+SELECT
+    diffRun.skycell_id,
+    diffRun.tess_id,
+    diffSkyfile.*
+FROM diffRun
+JOIN diffSkyfile
+    USING(diff_id)
+WHERE
+    diffRun.state = 'run'
+
Index: trunk/ippTools/share/difftool_todiffskyfile.sql
===================================================================
--- trunk/ippTools/share/difftool_todiffskyfile.sql	(revision 12262)
+++ trunk/ippTools/share/difftool_todiffskyfile.sql	(revision 12262)
@@ -0,0 +1,16 @@
+SELECT DISTINCT
+    diffRun.diff_id,
+    diffRun.workdir
+FROM diffRun
+JOIN diffInputSkyfile
+    USING(diff_id)
+JOIN warpSkyfile
+    ON  diffInputSkyfile.warp_id    = warpSkyfile.warp_id
+    AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id
+    AND diffInputSkyfile.tess_id    = warpSkyfile.tess_id
+LEFT JOIN diffSkyfile
+    ON diffInputSkyfile.diff_id = diffSkyfile.diff_id
+WHERE
+  diffRun.state = 'run'
+  AND diffSkyfile.diff_id IS NULL
+
Index: trunk/ippTools/src/difftool.c
===================================================================
--- trunk/ippTools/src/difftool.c	(revision 12261)
+++ trunk/ippTools/src/difftool.c	(revision 12262)
@@ -308,27 +308,9 @@
 
     // find all rawImfiles matching the default query
-    psString query = psStringCopy(
-        "SELECT\n"
-        "   warpSkyfile.*,\n"
-        "   diffInputSkyfile.template,\n"
-        "   rawExp.camera\n"
-        " FROM diffRun\n"
-        " JOIN diffInputSkyfile\n"
-        "   USING(diff_id)\n"
-        " JOIN warpSkyfile\n"
-        "   ON diffInputSkyfile.warp_id    = warpSkyfile.warp_id\n"
-        "  AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id\n"
-        "  AND diffInputSkyfile.tess_id    = warpSkyfile.tess_id\n"
-        " JOIN warpInputExp\n"
-        "   ON diffInputSkyfile.warp_id    = warpInputExp.warp_id\n"
-        " JOIN camProcessedExp\n"
-        "   ON warpInputExp.cam_id = camProcessedExp.cam_id\n"
-        " JOIN chipProcessedExp\n"
-        "   ON camProcessedExp.chip_id = chipProcessedExp.chip_id\n"
-        " JOIN rawExp\n"
-        "   ON chipProcessedExp.exp_tag = rawExp.exp_tag\n"
-        " WHERE\n"
-        "   diffRun.state = 'run'\n"
-    );
+    psString query = pxDataGet("difftool_inputskyfile.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
 
     if (config->where) {
@@ -414,22 +396,9 @@
     }
 
-    // find all rawImfiles matching the default query
-    psString query = psStringCopy(
-        "SELECT DISTINCT\n"
-        "   diffRun.diff_id,\n"
-        "   diffRun.workdir\n"
-        " FROM diffRun\n"
-        " JOIN diffInputSkyfile\n"
-        "   USING(diff_id)\n"
-        " JOIN warpSkyfile\n"
-        "   ON diffInputSkyfile.warp_id      = warpSkyfile.warp_id\n"
-        "  AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id\n"
-        "  AND diffInputSkyfile.tess_id    = warpSkyfile.tess_id\n"
-        " LEFT JOIN diffSkyfile\n"
-        "   ON diffInputSkyfile.diff_id      = diffSkyfile.diff_id\n"
-        " WHERE\n"
-        "   diffRun.state = 'run'\n"
-        "   AND diffSkyfile.diff_id IS NULL\n"
-    );
+    psString query = pxDataGet("difftool_todiffskyfile.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
 
     if (config->where) {
@@ -589,16 +558,9 @@
     }
 
-    // find all rawImfiles matching the default query
-    psString query = psStringCopy(
-        "SELECT\n"
-        "   diffRun.skycell_id,\n"
-        "   diffRun.tess_id,\n"
-        "   diffSkyfile.*\n"
-        " FROM diffRun\n"
-        " JOIN diffSkyfile\n"
-        "   USING(diff_id)\n"
-        " WHERE\n"
-        "   diffRun.state = 'run'\n"
-    );
+    psString query = pxDataGet("difftool_skyfile.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
 
     if (config->where) {
