Index: trunk/ippTools/share/magicdstool_todestreak.sql
===================================================================
--- trunk/ippTools/share/magicdstool_todestreak.sql	(revision 24735)
+++ trunk/ippTools/share/magicdstool_todestreak.sql	(revision 25013)
@@ -8,4 +8,5 @@
     camera,
     magicMask.uri as streaks_uri,
+    NULL AS inv_streaks_uri,
     stage,
     stage_id,
@@ -40,4 +41,5 @@
     camera,
     magicMask.uri as streaks_uri,
+    NULL AS inv_streaks_uri,
     stage,
     stage_id,
@@ -77,4 +79,5 @@
     camera,
     magicMask.uri as streaks_uri,
+    NULL AS inv_streaks_uri,
     stage,
     stage_id,
@@ -115,4 +118,5 @@
     camera,
     magicMask.uri as streaks_uri,
+    NULL AS inv_streaks_uri,
     stage,
     stage_id,
@@ -143,5 +147,5 @@
     AND magicDSFile.component IS NULL
 UNION
--- diffSkyfiles
+-- regular diffSkyfiles
 SELECT DISTINCT
     magicDSRun.magic_ds_id,
@@ -151,4 +155,5 @@
     rawExp.camera,
     magicMask.uri as streaks_uri,
+    NULL AS inv_streaks_uri,
     stage,
     magicRun.diff_id as stage_id,
@@ -167,4 +172,5 @@
 JOIN magicDSRun USING(magic_id)
 JOIN magicInputSkyfile USING(magic_id)
+JOIN diffRun USING(diff_id)
 JOIN diffSkyfile
     ON  magicRun.diff_id = diffSkyfile.diff_id
@@ -176,6 +182,47 @@
     magicDSRun.state = 'new'
     AND magicDSRun.stage = 'diff'
+    AND diffRun.bothways = 0
     AND diffSkyfile.fault = 0
     AND diffSkyfile.quality = 0
     AND magicDSFile.component IS NULL
+-- bothways diffSkyfiles
+UNION
+SELECT DISTINCT
+    magicDSRun.magic_ds_id,
+    magicRun.magic_id,
+    magicRun.exp_id,
+    magicDSRun.label,
+    rawExp.camera,
+    magicMask.uri as streaks_uri,
+    (SELECT uri from magicMask where magic_id = inv_magic_id) AS inv_streaks_uri,
+    stage,
+    magicRun.diff_id as stage_id,
+    diffSkyfile.skycell_id as component,
+    NULL AS uri,
+    diffSkyfile.path_base,
+    magicRun.inverse,
+    NULL as cam_path_base,
+    outroot,
+    recoveryroot,
+    re_place,
+    remove
+FROM rawExp
+JOIN magicRun USING (exp_id)
+JOIN magicMask USING (magic_id)
+JOIN magicDSRun USING(magic_id)
+JOIN magicInputSkyfile USING(magic_id)
+JOIN diffRun USING(diff_id)
+JOIN diffSkyfile
+    ON  magicRun.diff_id = diffSkyfile.diff_id
+    AND magicInputSkyfile.node = diffSkyfile.skycell_id
+LEFT JOIN magicDSFile
+    ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
+    AND magicDSFile.component = diffSkyfile.skycell_id
+WHERE
+    magicDSRun.state = 'new'
+    AND magicDSRun.stage = 'diff'
+    AND diffRun.bothways
+    AND diffSkyfile.fault = 0
+    AND diffSkyfile.quality = 0
+    AND magicDSFile.component IS NULL
 ) as Foo
