Index: /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_camera.sql
===================================================================
--- /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_camera.sql	(revision 29358)
+++ /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_camera.sql	(revision 29359)
@@ -19,5 +19,6 @@
     recoveryroot,
     re_place,
-    remove
+    remove,
+    IFNULL(Label.priority, 10000) AS priority
 FROM magicDSRun
 JOIN magicMask USING (magic_id)
@@ -29,4 +30,5 @@
 LEFT JOIN magicDSFile
     ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
+LEFT JOIN Label ON magicDSRun.label = Label.label
 WHERE
     magicDSRun.state = 'new'
@@ -38,2 +40,3 @@
     AND camProcessedExp.quality = 0
     AND magicDSFile.component IS NULL
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_chip.sql
===================================================================
--- /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_chip.sql	(revision 29358)
+++ /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_chip.sql	(revision 29359)
@@ -19,5 +19,6 @@
     recoveryroot,
     re_place,
-    remove
+    remove,
+    IFNULL(Label.priority, 10000) AS priority
 FROM magicDSRun
 JOIN magicMask USING (magic_id)
@@ -31,4 +32,6 @@
     ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
     AND magicDSFile.component = chipProcessedImfile.class_id
+LEFT JOIN Label
+    ON magicDSRun.label = Label.label
 WHERE
     magicDSRun.state = 'new'
@@ -38,2 +41,3 @@
     AND chipProcessedImfile.quality = 0
     AND magicDSFile.component IS NULL
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_diff.sql
===================================================================
--- /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_diff.sql	(revision 29358)
+++ /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_diff.sql	(revision 29359)
@@ -20,5 +20,6 @@
     recoveryroot,
     re_place,
-    remove
+    remove,
+    IFNULL(Label.priority, 10000) AS priority
 FROM rawExp
 JOIN magicRun USING (exp_id)
@@ -33,4 +34,5 @@
     ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
     AND magicDSFile.component = diffSkyfile.skycell_id
+LEFT JOIN Label ON magicDSRun.label = Label.label
 WHERE
     magicDSRun.state = 'new'
@@ -40,4 +42,5 @@
     AND diffSkyfile.quality = 0
     AND magicDSFile.component IS NULL
+    AND (Label.active OR Label.active IS NULL)
 -- bothways diffSkyfiles
 UNION
@@ -62,5 +65,6 @@
     recoveryroot,
     re_place,
-    remove
+    remove,
+    IFNULL(Label.priority, 10000) AS priority
 FROM rawExp
 JOIN magicRun USING (exp_id)
@@ -75,4 +79,5 @@
     ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
     AND magicDSFile.component = diffSkyfile.skycell_id
+LEFT JOIN Label ON magicDSRun.label = Label.label
 WHERE
     magicDSRun.state = 'new'
@@ -82,4 +87,5 @@
     AND diffSkyfile.quality = 0
     AND magicDSFile.component IS NULL
+    AND (Label.active OR Label.active IS NULL)
 ) AS magicDSRun
 -- we need the following so this query is compatible with the other stages
Index: /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_raw.sql
===================================================================
--- /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_raw.sql	(revision 29358)
+++ /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_raw.sql	(revision 29359)
@@ -20,5 +20,6 @@
     recoveryroot,
     re_place,
-    remove
+    remove,
+    10000 AS priority
 FROM magicDSRun
 JOIN magicMask USING (magic_id)
Index: /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_warp.sql
===================================================================
--- /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_warp.sql	(revision 29358)
+++ /tags/ipp-20100823/ippTools/share/magicdstool_todestreak_warp.sql	(revision 29359)
@@ -19,5 +19,6 @@
     recoveryroot,
     re_place,
-    remove
+    remove,
+    IFNULL(Label.priority, 10000) AS priority
 FROM magicDSRun
 JOIN magicMask USING (magic_id)
@@ -29,4 +30,5 @@
     ON magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
     AND magicDSFile.component = warpSkyfile.skycell_id
+LEFT JOIN Label ON magicDSRun.label = Label.label
 WHERE
     magicDSRun.state = 'new'
@@ -36,2 +38,3 @@
     AND warpSkyfile.quality = 0
     AND magicDSFile.component IS NULL
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20100823/ippTools/share/pubtool_revert.sql
===================================================================
--- /tags/ipp-20100823/ippTools/share/pubtool_revert.sql	(revision 29358)
+++ /tags/ipp-20100823/ippTools/share/pubtool_revert.sql	(revision 29359)
@@ -2,4 +2,5 @@
 USING publishDone, publishRun, publishClient
 WHERE publishDone.pub_id = publishRun.pub_id
+    AND publishRun.state = 'new'
     AND publishRun.client_id = publishClient.client_id
     AND publishClient.active = 1
Index: /tags/ipp-20100823/ippTools/src/magicdstool.c
===================================================================
--- /tags/ipp-20100823/ippTools/src/magicdstool.c	(revision 29358)
+++ /tags/ipp-20100823/ippTools/src/magicdstool.c	(revision 29359)
@@ -637,4 +637,6 @@
     psFree(where);
 
+    psStringAppend(&query, "\nORDER BY priority DESC, magic_ds_id");
+
     // treat limit == 0 as "no limit"
     if (limit) {
