Index: branches/eam_branches/ipp-20101103/ippTools/share/Makefile.am
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/Makefile.am	(revision 29664)
+++ branches/eam_branches/ipp-20101103/ippTools/share/Makefile.am	(revision 29835)
@@ -21,4 +21,8 @@
 	bgtool_advancechip.sql \
 	bgtool_advancewarp.sql \
+	bgtool_change_chiprun_state.sql \
+	bgtool_change_imfile_data_state.sql \
+	bgtool_change_warprun_state.sql \
+	bgtool_change_skyfile_data_state.sql \
 	bgtool_chipinputs.sql \
 	bgtool_chip.sql \
@@ -29,4 +33,8 @@
 	bgtool_listchip.sql \
 	bgtool_listwarp.sql \
+	bgtool_pendingcleanupchiprun.sql \
+	bgtool_pendingcleanupchipimfile.sql \
+	bgtool_pendingcleanupwarprun.sql \
+	bgtool_pendingcleanupwarpskyfile.sql \
 	bgtool_revertchip.sql \
 	bgtool_revertwarp.sql \
@@ -377,4 +385,5 @@
 	warptool_tooverlap.sql \
 	warptool_towarped.sql \
+	warptool_towarped_labels.sql \
 	warptool_updateskyfile.sql \
 	warptool_warped.sql \
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_chiprun_state.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_chiprun_state.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_chiprun_state.sql	(revision 29835)
@@ -0,0 +1,10 @@
+UPDATE chipBackgroundRun
+SET chipBackgroundRun.state = '%s',
+    chipBackgroundRun.magicked = IF(chipBackgroundRun.magicked != 0, -1, 0)
+WHERE chip_bg_id = %lld
+AND (SELECT COUNT(class_id)
+    FROM chipBackgroundImfile 
+    WHERE 
+        chipBackgroundImfile.chip_bg_id = chipBackgroundRun.chip_bg_id
+        AND data_state != '%s'
+    ) = 0
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_imfile_data_state.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_imfile_data_state.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_imfile_data_state.sql	(revision 29835)
@@ -0,0 +1,5 @@
+UPDATE chipBackgroundImfile
+    JOIN chipBackgroundRun USING(chip_bg_id)
+SET data_state = '%s',
+    chipBackgroundImfile.magicked = IF(chipBackgroundImfile.magicked != 0, -1, 0)
+WHERE chip_bg_id = %lld AND class_id = '%s'
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_skyfile_data_state.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_skyfile_data_state.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_skyfile_data_state.sql	(revision 29835)
@@ -0,0 +1,5 @@
+UPDATE warpBackgroundSkyfile
+    JOIN warpBackgroundRun USING(warp_bg_id)
+SET data_state = '%s',
+    warpBackgroundSkyfile.magicked = IF(warpBackgroundSkyfile.magicked != 0, -1, 0)
+WHERE warp_bg_id = %lld AND skycell_id = '%s'
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_warprun_state.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_warprun_state.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_change_warprun_state.sql	(revision 29835)
@@ -0,0 +1,10 @@
+UPDATE warpBackgroundRun
+SET state = '%s',
+    warpBackgroundRun.magicked = IF(warpBackgroundRun.magicked != 0, -1, 0)
+WHERE warp_bg_id = %lld
+AND (SELECT COUNT(skycell_id)
+    FROM warpBackgroundSkyfile 
+    WHERE 
+        warpBackgroundSkyfile.warp_bg_id = warpBackgroundRun.warp_bg_id
+        AND data_state != '%s'
+    ) = 0
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupchipimfile.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupchipimfile.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupchipimfile.sql	(revision 29835)
@@ -0,0 +1,15 @@
+SELECT
+    chipBackgroundImfile.*,
+    chipBackgroundRun.state,
+    chipBackgroundRun.workdir,
+    chipBackgroundRun.label
+FROM chipBackgroundRun
+JOIN chipBackgroundImfile
+    USING(chip_bg_id)
+WHERE
+   ((chipBackgroundRun.state = 'goto_cleaned' AND (chipBackgroundImfile.data_state = 'full'
+                                       OR chipBackgroundImfile.data_state = 'update'))
+OR 
+   (chipBackgroundRun.state = 'goto_scrubbed' AND chipBackgroundImfile.data_state != 'scrubbed')
+OR 
+   (chipBackgroundRun.state = 'goto_purged' AND chipBackgroundImfile.data_state != 'purged'))
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupchiprun.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupchiprun.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupchiprun.sql	(revision 29835)
@@ -0,0 +1,12 @@
+SELECT 
+    chipBackgroundRun.*,
+    CONCAT_WS('.', exp_name, exp_id) AS exp_tag,
+    rawExp.camera
+FROM chipBackgroundRun
+    JOIN chipRun USING(chip_id)
+    JOIN rawExp USING(exp_id)
+WHERE (chipBackgroundRun.state = 'goto_cleaned' 
+    OR chipBackgroundRun.state = 'goto_purged'
+    OR chipBackgroundRun.state = 'goto_scrubbed'
+    )
+
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupwarprun.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupwarprun.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupwarprun.sql	(revision 29835)
@@ -0,0 +1,13 @@
+SELECT warpBackgroundRun.*,
+    CONCAT_WS('.', exp_name, exp_id) AS exp_tag,
+    rawExp.camera
+FROM warpBackgroundRun
+    JOIN warpRun USING(warp_id)
+    JOIN fakeRun USING(fake_id)
+    JOIN camRun USING(cam_id)
+    JOIN chipRun USING(chip_id)
+    JOIN rawExp USING(exp_id)
+WHERE (warpBackgroundRun.state = 'goto_cleaned'
+        OR warpBackgroundRun.state = 'goto_purged' 
+        OR warpBackgroundRun.state = 'goto_scrubbed')
+
Index: branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupwarpskyfile.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupwarpskyfile.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/bgtool_pendingcleanupwarpskyfile.sql	(revision 29835)
@@ -0,0 +1,15 @@
+SELECT
+    warpBackgroundSkyfile.*,
+    warpBackgroundRun.state,
+    warpBackgroundRun.workdir,
+    warpBackgroundRun.label
+FROM warpBackgroundRun
+JOIN warpBackgroundSkyfile
+    USING(warp_bg_id)
+WHERE
+   ((warpBackgroundRun.state = 'goto_cleaned' AND (warpBackgroundSkyfile.data_state = 'full'
+                                       OR warpBackgroundSkyfile.data_state = 'update'))
+OR 
+   (warpBackgroundRun.state = 'goto_scrubbed' AND warpBackgroundSkyfile.data_state != 'scrubbed')
+OR 
+   (warpBackgroundRun.state = 'goto_purged' AND warpBackgroundSkyfile.data_state != 'purged'))
Index: branches/eam_branches/ipp-20101103/ippTools/share/magictool_definebyquery_select.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/magictool_definebyquery_select.sql	(revision 29664)
+++ branches/eam_branches/ipp-20101103/ippTools/share/magictool_definebyquery_select.sql	(revision 29835)
@@ -4,5 +4,5 @@
     MAX(diffWarps.diff_id) AS diff_id,
     -- The following trick pulls out the 'inverse' value for the maximum diff_id
-    CONVERT(SUBSTRING_INDEX(GROUP_CONCAT(diffWarps.inverse ORDER BY diffWarps.diff_id), ',', 1), UNSIGNED) AS inverse,
+    CONVERT(SUBSTRING_INDEX(GROUP_CONCAT(diffWarps.inverse ORDER BY diffWarps.diff_id DESC), ',', 1), UNSIGNED) AS inverse,
     diff_data_group
 FROM (
Index: branches/eam_branches/ipp-20101103/ippTools/share/warptool_definebyquery.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/warptool_definebyquery.sql	(revision 29664)
+++ branches/eam_branches/ipp-20101103/ippTools/share/warptool_definebyquery.sql	(revision 29835)
@@ -29,4 +29,5 @@
 JOIN chipRun USING(chip_id)
 JOIN rawExp USING(exp_id)
-WHERE camRun.state = 'full'
+WHERE fakeRun.state = 'full'
+AND camRun.state = 'full'
 AND chipRun.state = 'full'
Index: branches/eam_branches/ipp-20101103/ippTools/share/warptool_towarped_labels.sql
===================================================================
--- branches/eam_branches/ipp-20101103/ippTools/share/warptool_towarped_labels.sql	(revision 29835)
+++ branches/eam_branches/ipp-20101103/ippTools/share/warptool_towarped_labels.sql	(revision 29835)
@@ -0,0 +1,15 @@
+SELECT DISTINCT
+        warpRun.label,
+	Label.label AS label_label,
+        IFNULL(Label.priority, 10000) AS priority,
+	count(warpRun.warp_id)
+    FROM warpRun
+    LEFT JOIN Label ON warpRun.label = Label.label
+    WHERE
+        (warpRun.state = 'new' OR warpRun.state = 'update')
+        AND (Label.active OR Label.active IS NULL)
+        -- where hook %s
+	group by warpRun.label
+        ORDER BY priority DESC, warp_id
+        limit 100
+
