Index: /tags/ipp-20101215/ippTools/share/disttool_pending_SSdiff.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_SSdiff.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_SSdiff.sql	(revision 30386)
@@ -17,5 +17,6 @@
     diffSkyfile.quality,
     distRun.no_magic,
-    0 AS magicked
+    0 AS magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -42,4 +43,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND diffSkyfile.skycell_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -48,2 +50,3 @@
     AND ((diffRun.magicked > 0) OR distRun.no_magic)
     AND (diffRun.state = 'full' OR (distRun.clean AND diffRun.state = 'cleaned'))
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_camera.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_camera.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_camera.sql	(revision 30386)
@@ -15,5 +15,6 @@
     camProcessedExp.quality,
     distRun.no_magic,
-    chipRun.magicked
+    chipRun.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -21,9 +22,9 @@
 JOIN camProcessedExp USING(cam_id)
 JOIN chipRun USING(chip_id)
--- JOIN chipProcessedImfile USING(exp_id, chip_id)
 JOIN rawExp using(exp_id)
 LEFT JOIN distComponent 
     ON distRun.dist_id = distComponent.dist_id 
---    AND chipProcessedImfile.class_id = distComponent.component
+LEFT JOIN Label
+    ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -32,2 +33,3 @@
     AND (((clean OR (chipRun.magicked != 0)) AND (camRun.magicked > 0)) OR distRun.no_magic)
     AND (camRun.state = 'full' OR (distRun.clean AND camRun.state = 'cleaned'))
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_chip.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_chip.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_chip.sql	(revision 30386)
@@ -15,5 +15,6 @@
     chipProcessedImfile.quality,
     distRun.no_magic,
-    chipProcessedImfile.magicked
+    chipProcessedImfile.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -24,4 +25,6 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND chipProcessedImfile.class_id = distComponent.component
+LEFT JOIN Label
+    ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -30,2 +33,3 @@
     AND ((chipRun.magicked > 0) OR distRun.no_magic)
     AND (chipRun.state = 'full' OR (distRun.clean AND chipRun.state = 'cleaned'))
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_chip_bg.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_chip_bg.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_chip_bg.sql	(revision 30386)
@@ -15,5 +15,6 @@
     0 AS quality,
     distRun.no_magic,
-    chipBackgroundImfile.magicked
+    chipBackgroundImfile.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -25,4 +26,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND chipBackgroundImfile.class_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -31,2 +33,3 @@
     AND ((chipBackgroundRun.magicked > 0) OR distRun.no_magic)
     AND (chipBackgroundRun.state = 'full')
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_diff.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_diff.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_diff.sql	(revision 30386)
@@ -17,5 +17,6 @@
     diffSkyfile.quality,
     distRun.no_magic,
-    diffSkyfile.magicked
+    diffSkyfile.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -32,4 +33,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND diffSkyfile.skycell_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -38,2 +40,3 @@
     AND ((diffRun.magicked > 0) OR distRun.no_magic)
     AND (diffRun.state = 'full' OR (distRun.clean AND diffRun.state = 'cleaned'))
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_fake.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_fake.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_fake.sql	(revision 30386)
@@ -15,5 +15,6 @@
     0 as quality,
     distRun.no_magic,
-    0 as magicked
+    0 as magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -26,6 +27,8 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND fakeProcessedImfile.class_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
     AND distRun.stage = 'fake'
     AND distComponent.dist_id IS NULL
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_raw.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_raw.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_raw.sql	(revision 30386)
@@ -17,5 +17,6 @@
     0 as quality,
     distRun.no_magic,
-    rawImfile.magicked
+    rawImfile.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -28,4 +29,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND rawImfile.class_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -34,4 +36,5 @@
     AND distComponent.dist_id IS NULL
     AND (rawExp.magicked OR distRun.no_magic)
+    AND (Label.active OR Label.active IS NULL)
 UNION
     -- raw stage alternate inputs
@@ -54,5 +57,6 @@
     0 as quality,
     distRun.no_magic,
-    rawImfile.magicked
+    rawImfile.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -68,4 +72,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND rawImfile.class_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -74,4 +79,5 @@
     AND chipProcessedImfile.data_state = 'full'
     AND chipProcessedImfile.magicked > 0
+    AND (Label.active OR Label.active IS NULL)
 UNION
     -- raw stage clean (dbinfo only)
@@ -93,5 +99,6 @@
     0 as quality,
     distRun.no_magic,
-    rawExp.magicked
+    rawExp.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -99,4 +106,5 @@
 LEFT JOIN distComponent 
     ON distRun.dist_id = distComponent.dist_id 
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -104,2 +112,3 @@
     AND distRun.clean
     AND distComponent.dist_id IS NULL
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_sky.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_sky.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_sky.sql	(revision 30386)
@@ -15,5 +15,6 @@
     staticskyResult.quality,
     1 AS no_magic,
-    0 AS magicked
+    0 AS magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -43,4 +44,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND stackRun.skycell_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -49,2 +51,3 @@
     AND (staticskyRun.state = 'full' OR (distRun.clean AND staticskyRun.state = 'cleaned'))
     AND (staticskyResult.fault = 0 AND staticskyResult.quality = 0)
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_stack.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_stack.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_stack.sql	(revision 30386)
@@ -17,5 +17,6 @@
     stackSumSkyfile.quality,
     1 AS no_magic,
-    0 AS magicked
+    0 AS magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -43,4 +44,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND stackRun.skycell_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -49,2 +51,3 @@
     AND (stackRun.state = 'full' OR (distRun.clean AND stackRun.state = 'cleaned'))
     AND (stackSumSkyfile.fault = 0 AND stackSumSkyfile.quality = 0)
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_warp.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_warp.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_warp.sql	(revision 30386)
@@ -15,5 +15,6 @@
     warpSkyfile.quality,
     distRun.no_magic,
-    warpSkyfile.magicked
+    warpSkyfile.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -27,4 +28,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND warpSkyfile.skycell_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -33,2 +35,3 @@
     AND ((warpRun.magicked > 0) OR distRun.no_magic)
     AND (warpRun.state = 'full' OR (distRun.clean AND warpRun.state = 'cleaned'))
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/share/disttool_pending_warp_bg.sql
===================================================================
--- /tags/ipp-20101215/ippTools/share/disttool_pending_warp_bg.sql	(revision 30385)
+++ /tags/ipp-20101215/ippTools/share/disttool_pending_warp_bg.sql	(revision 30386)
@@ -15,5 +15,6 @@
     0 as quality,
     distRun.no_magic,
-    warpBackgroundSkyfile.magicked
+    warpBackgroundSkyfile.magicked,
+    IFNULL(Label.priority, 10000) AS priority
 FROM distRun
 JOIN distTarget USING(target_id, stage, clean)
@@ -28,4 +29,5 @@
     ON distRun.dist_id = distComponent.dist_id 
     AND warpBackgroundSkyfile.skycell_id = distComponent.component
+LEFT JOIN Label ON distRun.label = Label.label
 WHERE
     distRun.state = 'new'
@@ -34,2 +36,3 @@
     AND ((warpBackgroundRun.magicked > 0) OR distRun.no_magic)
     AND (warpBackgroundRun.state = 'full')
+    AND (Label.active OR Label.active IS NULL)
Index: /tags/ipp-20101215/ippTools/src/disttool.c
===================================================================
--- /tags/ipp-20101215/ippTools/src/disttool.c	(revision 30385)
+++ /tags/ipp-20101215/ippTools/src/disttool.c	(revision 30386)
@@ -857,4 +857,6 @@
     psFree(where);
 
+    psStringAppend(&query, "\nORDER BY priority DESC, dist_id");
+
     // treat limit == 0 as "no limit"
     if (limit) {
