Index: trunk/ippTools/share/difftool_todiffskyfile.sql
===================================================================
--- trunk/ippTools/share/difftool_todiffskyfile.sql	(revision 20934)
+++ trunk/ippTools/share/difftool_todiffskyfile.sql	(revision 20973)
@@ -6,48 +6,56 @@
     0 as diff_skyfile_id,
     diffRun.workdir,
-    diffRun.skycell_id,
+    diffInputSkyfile.skycell_id,
     diffRun.tess_id,
     diffRun.label,
     diffRun.state
 FROM diffRun
+JOIN diffInputSkyfile USING(diff_id)
+
 -- Get list of templates for each diffRun
-JOIN diffInputSkyfile AS diffTemplateSkyfile
-    ON diffRun.diff_id = diffTemplateSkyfile.diff_id
-    AND diffRun.skycell_id = diffTemplateSkyfile.skycell_id
-    AND diffTemplateSkyfile.template = 1
+-- JOIN diffInputSkyfile AS diffTemplateSkyfile
+--     ON diffRun.diff_id = diffTemplateSkyfile.diff_id
+--     AND diffRun.skycell_id = diffTemplateSkyfile.skycell_id
+--     AND diffTemplateSkyfile.template = 1
 -- Get list of inputs for each diffRun
-JOIN diffInputSkyfile
-    ON diffRun.diff_id = diffInputSkyfile.diff_id
-    AND diffRun.skycell_id = diffInputSkyfile.skycell_id
-    AND diffInputSkyfile.template = 0
+-- JOIN diffInputSkyfile
+--     ON diffRun.diff_id = diffInputSkyfile.diff_id
+--     AND diffRun.skycell_id = diffInputSkyfile.skycell_id
+--     AND diffInputSkyfile.template = 0
+
 -- Get warp templates
 LEFT JOIN warpRun AS warpTemplateRun
-    ON warpTemplateRun.warp_id = diffTemplateSkyfile.warp_id
-    AND diffTemplateSkyfile.warp_id IS NOT NULL
+    ON warpTemplateRun.warp_id = diffInputSkyfile.warp2
+    AND diffInputSkyfile.warp2 IS NOT NULL
 LEFT JOIN warpSkyfile AS warpTemplateSkyfile
     ON warpTemplateSkyfile.warp_id = warpTemplateRun.warp_id
-    AND warpTemplateSkyfile.skycell_id = diffTemplateSkyfile.skycell_id
+    AND warpTemplateSkyfile.skycell_id = diffInputSkyfile.skycell_id
+
 -- Get warp inputs
 LEFT JOIN warpRun
-    ON warpRun.warp_id = diffInputSkyfile.warp_id
-    AND diffInputSkyfile.warp_id IS NOT NULL
+    ON warpRun.warp_id = diffInputSkyfile.warp1
+    AND diffInputSkyfile.warp1 IS NOT NULL
 LEFT JOIN warpSkyfile
     ON warpSkyfile.warp_id = warpRun.warp_id
     AND warpSkyfile.skycell_id = diffInputSkyfile.skycell_id
+
 -- Get stack templates
 LEFT JOIN stackRun AS stackTemplateRun
-    ON stackTemplateRun.stack_id = diffTemplateSkyfile.stack_id
+    ON stackTemplateRun.stack_id = diffInputSkyfile.stack2
+    AND diffInputSkyfile.stack2 IS NOT NULL
 LEFT JOIN stackSumSkyfile AS stackTemplateSkyfile
     ON stackTemplateSkyfile.stack_id = stackTemplateRun.stack_id
+
 -- Get stack inputs
 LEFT JOIN stackRun
-    ON stackRun.stack_id = diffInputSkyfile.stack_id
-    AND diffInputSkyfile.warp_id IS NULL
+    ON stackRun.stack_id = diffInputSkyfile.stack1
+    AND diffInputSkyfile.stack1 IS NOT NULL
 LEFT JOIN stackSumSkyfile
     ON stackSumSkyfile.stack_id = stackRun.stack_id
-    AND diffInputSkyfile.warp_id IS NULL
+
 -- Get what's already been processed
 LEFT JOIN diffSkyfile
     ON diffInputSkyfile.diff_id = diffSkyfile.diff_id
+    AND diffInputSkyfile.skycell_id = diffSkyfile.skycell_id
 WHERE
 -- Ready to be processed
@@ -58,19 +66,19 @@
     )
 -- Ensure input warps are available
-    AND (diffInputSkyfile.warp_id IS NULL
+    AND (diffInputSkyfile.warp1 IS NULL
     OR (warpRun.state = 'full'
     AND warpSkyfile.fault = 0
     AND warpSkyfile.ignored = 0))
 -- Ensure input stacks are available
-    AND (diffInputSkyfile.stack_id IS NULL
+    AND (diffInputSkyfile.stack1 IS NULL
     OR (stackRun.state = 'full'
     AND stackSumSkyfile.fault = 0))
 -- Ensure template warps are available
-    AND (diffTemplateSkyfile.warp_id IS NULL
+    AND (diffInputSkyfile.warp2 IS NULL
     OR (warpTemplateRun.state = 'full'
     AND warpTemplateSkyfile.fault = 0
     AND warpTemplateSkyfile.ignored = 0))
 -- Ensure template stacks are available
-    AND (diffTemplateSkyfile.stack_id IS NULL
+    AND (diffInputSkyfile.stack2 IS NULL
     OR (stackTemplateRun.state = 'full'
     AND stackTemplateSkyfile.fault = 0))
