Index: /branches/pap/dbconfig/changes.txt
===================================================================
--- /branches/pap/dbconfig/changes.txt	(revision 23676)
+++ /branches/pap/dbconfig/changes.txt	(revision 23677)
@@ -905,2 +905,11 @@
 ALTER TABLE chipProcessedImfile ADD COLUMN quality SMALLINT AFTER fault;
 ALTER TABLE rawImfile ADD COLUMN quality SMALLINT AFTER fault;
+
+ALTER TABLE warpSkyfile DROP COLUMN ignored;
+
+ALTER TABLE diffSkyfile ADD KEY(quality);
+ALTER TABLE stackSumSkyfile ADD KEY(quality);
+ALTER TABLE warpSkyfile ADD KEY(quality);
+ALTER TABLE camProcessedExp ADD KEY(quality);
+ALTER TABLE chipProcessedImfile ADD KEY(quality);
+ALTER TABLE rawImfile ADD KEY(quality);
Index: /branches/pap/dbconfig/warp.md
===================================================================
--- /branches/pap/dbconfig/warp.md	(revision 23676)
+++ /branches/pap/dbconfig/warp.md	(revision 23677)
@@ -55,5 +55,4 @@
     ymin           S32      0
     ymax           S32      0
-    ignored        BOOL     f       # Key
     fault          S16      0       # Key
     quality        S16      0
Index: /branches/pap/ippScripts/scripts/warp_skycell.pl
===================================================================
--- /branches/pap/ippScripts/scripts/warp_skycell.pl	(revision 23676)
+++ /branches/pap/ippScripts/scripts/warp_skycell.pl	(revision 23677)
@@ -175,5 +175,4 @@
 # Run pswarp
 my $cmdflags;
-my $accept = 1;                 # Accept the skycell?
 my $do_stats;
 unless ($no_op) {
@@ -215,5 +214,5 @@
 
     if ($do_stats) {
-        # Check first for the stats file, and if the ACCEPT flag is set.
+        # Check first for the stats file
         my $outputStatsReal = $ipprc->file_resolve($outputStats);
         &my_die("Couldn't find expected output file: $outputStats", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless -f $outputStatsReal;
@@ -234,5 +233,5 @@
         my ($quality) = $cmdflags =~ /-quality (\d+)/; # Quality flag
 
-        if (!$quality and $cmdflags =~ /-accept/) {
+        if (!$quality) {
             &my_die("Couldn't find expected output file: $outputImage", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputImage);
             &my_die("Couldn't find expected output file: $outputMask", $warp_id, $skycell_id, $tess_dir, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputMask);
@@ -251,7 +250,7 @@
             $command .= " -magicked" if $magicked;
 
-            $command .= " -uri $outputImage" if $accept;
+            $command .= " -uri $outputImage" if !$quality;
             $command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400));
-            $command .= " $cmdflags" if $accept;
+            $command .= " $cmdflags";
             $command .= " -hostname $host"   if defined $host;
             $command .= " -dbname $dbname"   if defined $dbname;
Index: /branches/pap/ippTools/share/difftool_definebyquery.sql
===================================================================
--- /branches/pap/ippTools/share/difftool_definebyquery.sql	(revision 23676)
+++ /branches/pap/ippTools/share/difftool_definebyquery.sql	(revision 23677)
@@ -38,5 +38,4 @@
     WHERE
         warpSkyfile.fault = 0
-        AND warpSkyfile.ignored = 0
         AND warpSkyfile.quality = 0
     -- warpsToDiff WHERE hook %s
@@ -52,4 +51,5 @@
     WHERE stackRun.state = 'full'
         AND stackSumSkyfile.fault = 0
+        AND stackSumSkyfile.quality = 0
     -- stacksForDiff WHERE hook %s
     GROUP BY
Index: /branches/pap/ippTools/share/difftool_definebyquery_part1.sql
===================================================================
--- /branches/pap/ippTools/share/difftool_definebyquery_part1.sql	(revision 23676)
+++ /branches/pap/ippTools/share/difftool_definebyquery_part1.sql	(revision 23677)
@@ -1,24 +1,21 @@
-    SELECT
-        exp_id,
-        warp_id,
-        rawExp.filter,
-        warpRun.label,
-        warpRun.tess_id,
-        count(skycell_id) as skycell_count
-    FROM warpRun
-    JOIN warpSkyfile USING(warp_id)
-    JOIN fakeRun USING(fake_id)
-    JOIN camRun USING(cam_id)
-    JOIN chipRun USING (chip_id)
-    JOIN rawExp USING(exp_id)
-    LEFT JOIN diffRun USING(exp_id)
-
-    WHERE
-        warpSkyfile.fault = 0
-        AND warpSkyfile.ignored = 0
-        AND warpSkyfile.quality = 0
-        -- warp where hook %s
-        -- exp where hook %s
-        -- diff where hook %s
-
-    GROUP BY exp_id, warp_id DESC
+SELECT
+    exp_id,
+    warp_id,
+    rawExp.filter,
+    warpRun.label,
+    warpRun.tess_id,
+    COUNT(skycell_id) as skycell_count
+FROM warpRun
+JOIN warpSkyfile USING(warp_id)
+JOIN fakeRun USING(fake_id)
+JOIN camRun USING(cam_id)
+JOIN chipRun USING(chip_id)
+JOIN rawExp USING(exp_id)
+LEFT JOIN diffRun USING(exp_id)
+WHERE
+    warpSkyfile.fault = 0
+    AND warpSkyfile.quality = 0
+    -- warp where hook %s
+    -- exp where hook %s
+    -- diff where hook %s
+GROUP BY exp_id, warp_id DESC
Index: /branches/pap/ippTools/share/difftool_definebyquery_part2.sql
===================================================================
--- /branches/pap/ippTools/share/difftool_definebyquery_part2.sql	(revision 23676)
+++ /branches/pap/ippTools/share/difftool_definebyquery_part2.sql	(revision 23677)
@@ -1,36 +1,36 @@
 -- insert skycells to diff
 INSERT INTO skycellsToDiff
+SELECT
+    0,                      -- diff_id
+    warpSkyfile.skycell_id,
+    warpSkyfile.warp_id,    -- warp1
+    NULL,                   -- stack1
+    NULL,                   -- warp2
+    max_stack_id,           -- stack2
+    warpSkyfile.tess_id,
+    0
+FROM warpSkyfile
+JOIN warpRun USING(warp_id)
+LEFT JOIN (
     SELECT
-        0,                      -- diff_id
-        warpSkyfile.skycell_id,
-        warpSkyfile.warp_id,    -- warp1
-        NULL,                   -- stack1
-        NULL,                   -- warp2
-        max_stack_id,           -- stack2
-        warpSkyfile.tess_id,
-        0
-        FROM warpSkyfile
-        JOIN warpRun USING(warp_id)
-        LEFT JOIN (
-            SELECT
-                MAX(stack_id) AS max_stack_id, -- most recent stack, by virtue of auto-increment
-                stackRun.skycell_id,
-                stackRun.tess_id,
-                filter
-            FROM stackRun
-            JOIN stackSumSkyfile USING(stack_id)
-            WHERE stackSumSkyfile.fault = 0
-                AND stackRun.state = 'full'
-            -- stacks where hook %s
-            GROUP BY
-                skycell_id,
-                filter
-            ) as bestStacks
-        USING(skycell_id)
-        WHERE
-            warpSkyfile.warp_id = %lld
-            AND ignored = 0
-            AND filter = '%s'
-            AND warpSkyfile.tess_id = bestStacks.tess_id
-        -- (good fraction test goes here for example also above)
-        -- warp where hook %s
+        MAX(stack_id) AS max_stack_id, -- most recent stack, by virtue of auto-increment
+        stackRun.skycell_id,
+        stackRun.tess_id,
+        filter
+    FROM stackRun
+    JOIN stackSumSkyfile USING(stack_id)
+    WHERE stackSumSkyfile.fault = 0
+        AND stackSumSkyfile.quality = 0
+        AND stackRun.state = 'full'
+    -- stacks where hook %s
+    GROUP BY
+        skycell_id,
+        filter
+    ) as bestStacks USING(skycell_id)
+WHERE
+    warpSkyfile.warp_id = %lld
+    AND warpSkyfile.fault = 0
+    AND warpSkyfile.quality = 0
+    AND filter = '%s'
+    AND warpSkyfile.tess_id = bestStacks.tess_id
+-- warp where hook %s
Index: /branches/pap/ippTools/share/difftool_definewarpwarp_insert.sql
===================================================================
--- /branches/pap/ippTools/share/difftool_definewarpwarp_insert.sql	(revision 23676)
+++ /branches/pap/ippTools/share/difftool_definewarpwarp_insert.sql	(revision 23677)
@@ -11,6 +11,6 @@
 FROM warpSkyfile AS inputWarpSkyfile
 JOIN warpSkyfile AS templateWarpSkyfile USING(skycell_id, tess_id)
-WHERE inputWarpSkyfile.ignored = 0
-    AND templateWarpSkyfile.ignored = 0
+WHERE inputWarpSkyfile.quality = 0
+    AND templateWarpSkyfile.quality = 0
     AND inputWarpSkyfile.warp_id = %s
     AND templateWarpSkyfile.warp_id = %s
Index: /branches/pap/ippTools/share/difftool_todiffskyfile.sql
===================================================================
--- /branches/pap/ippTools/share/difftool_todiffskyfile.sql	(revision 23676)
+++ /branches/pap/ippTools/share/difftool_todiffskyfile.sql	(revision 23677)
@@ -63,5 +63,6 @@
     AND diffSkyfile.diff_id IS NULL)
     OR (diffRun.state = 'update'
-    AND diffSkyfile.fault = 0)
+    AND diffSkyfile.fault = 0
+    AND diffSkyfile.quality = 0)
     )
 -- Ensure input warps are available
@@ -69,18 +70,20 @@
     OR (warpRun.state = 'full'
     AND warpSkyfile.fault = 0
-    AND warpSkyfile.ignored = 0))
+    AND warpSkyfile.quality = 0))
 -- Ensure input stacks are available
     AND (diffInputSkyfile.stack1 IS NULL
     OR (stackRun.state = 'full'
-    AND stackSumSkyfile.fault = 0))
+    AND stackSumSkyfile.fault = 0
+    AND stackSumSkyfile.quality = 0))
 -- Ensure template warps are available
     AND (diffInputSkyfile.warp2 IS NULL
     OR (warpTemplateRun.state = 'full'
     AND warpTemplateSkyfile.fault = 0
-    AND warpTemplateSkyfile.ignored = 0))
+    AND warpTemplateSkyfile.quality = 0))
 -- Ensure template stacks are available
     AND (diffInputSkyfile.stack2 IS NULL
     OR (stackTemplateRun.state = 'full'
-    AND stackTemplateSkyfile.fault = 0))
+    AND stackTemplateSkyfile.fault = 0
+    AND stackTemplateSkyfile.quality = 0))
 
 
Index: /branches/pap/ippTools/share/disttool_toadvance.sql
===================================================================
--- /branches/pap/ippTools/share/disttool_toadvance.sql	(revision 23676)
+++ /branches/pap/ippTools/share/disttool_toadvance.sql	(revision 23677)
@@ -7,5 +7,5 @@
     (
 -- raw stage
-SELECT 
+SELECT
     distRun.dist_id,
     stage,
@@ -29,5 +29,5 @@
 UNION
 -- chip stage
-SELECT 
+SELECT
     distRun.dist_id,
     stage,
@@ -51,5 +51,5 @@
 UNION
 -- warp stage
-SELECT 
+SELECT
     distRun.dist_id,
     stage,
@@ -66,5 +66,5 @@
         AND distRun.stage = 'warp'
 --        AND warpSkyfile.fault = 0
---        AND warpSkyfile.ignored = 0
+--        AND warpSkyfile.quality = 0
     GROUP BY
         distRun.dist_id,
@@ -99,5 +99,5 @@
 UNION
 -- stack stage
-SELECT 
+SELECT
     distRun.dist_id,
     stage,
Index: /branches/pap/ippTools/share/magicdstool_completed_runs.sql
===================================================================
--- /branches/pap/ippTools/share/magicdstool_completed_runs.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magicdstool_completed_runs.sql	(revision 23677)
@@ -4,5 +4,5 @@
     (
 -- raw stage
-SELECT 
+SELECT
     magicDSRun.magic_ds_id
     FROM magicDSRun
@@ -22,5 +22,5 @@
 UNION
 -- chip stage
-SELECT 
+SELECT
     magicDSRun.magic_ds_id
     FROM magicDSRun
@@ -40,5 +40,5 @@
 UNION
 -- warp stage
-SELECT 
+SELECT
     magicDSRun.magic_ds_id
     FROM magicDSRun
@@ -51,5 +51,5 @@
         AND magicDSRun.stage = 'warp'
         AND warpSkyfile.fault = 0
-        AND warpSkyfile.ignored = 0
+        AND warpSkyfile.quality = 0
     GROUP BY
         magicDSRun.magic_ds_id,
@@ -75,4 +75,5 @@
         AND magicDSRun.stage = 'diff'
         AND diffSkyfile.fault = 0
+        AND diffSkyfile.quality = 0
     GROUP BY
         magicDSRun.magic_ds_id,
Index: /branches/pap/ippTools/share/magicdstool_getskycells.sql
===================================================================
--- /branches/pap/ippTools/share/magicdstool_getskycells.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magicdstool_getskycells.sql	(revision 23677)
@@ -21,6 +21,7 @@
     ON warpSkyfile.warp_id = warpSkyCellMap.warp_id
     AND warpSkyfile.skycell_id = warpSkyCellMap.skycell_id
-    AND warpSkyfile.ignored = 0
+    AND warpSkyfile.quality = 0
 WHERE
     diffSkyfile.fault = 0
+    AND diffSkyfile.quality = 0
     AND magic_ds_id = %lld
Index: /branches/pap/ippTools/share/magicdstool_todestreak.sql
===================================================================
--- /branches/pap/ippTools/share/magicdstool_todestreak.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magicdstool_todestreak.sql	(revision 23677)
@@ -61,4 +61,5 @@
     AND chipRun.state = 'full'
     AND chipProcessedImfile.fault = 0
+    AND chipProcessedImfile.quality = 0
     AND magicDSFile.component IS NULL
 UNION
@@ -95,5 +96,5 @@
     AND warpRun.state = 'full'
     AND warpSkyfile.fault = 0
-    AND warpSkyfile.ignored = 0
+    AND warpSkyfile.quality = 0
     AND magicDSFile.component IS NULL
 UNION
@@ -130,4 +131,5 @@
     AND magicDSRun.stage = 'diff'
     AND diffSkyfile.fault = 0
+    AND diffSkyfile.quality = 0
     AND magicDSFile.component IS NULL
 ) as Foo
Index: /branches/pap/ippTools/share/magictool_chipprocessedimfile.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_chipprocessedimfile.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_chipprocessedimfile.sql	(revision 23677)
@@ -26,4 +26,5 @@
     chipRun.state = 'full'
     AND chipProcessedImfile.fault = 0
+    AND chipProcessedImfile.quality = 0
 --   AND magicRun.state = 'full'
 --   AND magicMask.fault = 0
Index: /branches/pap/ippTools/share/magictool_definebyquery.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_definebyquery.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_definebyquery.sql	(revision 23677)
@@ -45,7 +45,8 @@
 WHERE
     diffSkyfile.fault = 0
+    AND diffSkyfile.quality = 0
 -- WHERE hook %s
-AND exp_id = 36475
-AND diffRun.label = 'magic_2008-11-12'
+    AND exp_id = 36475
+    AND diffRun.label = 'magic_2008-11-12'
 GROUP BY
     exp_id,
@@ -79,5 +80,5 @@
     JOIN diffRun USING(diff_id)
     WHERE
-        warpSkyfile.ignored = 0
+        warpSkyfile.quality = 0
         -- magicSkycellNums WHERE hook %s
 AND exp_id = 36475
Index: /branches/pap/ippTools/share/magictool_definebyquery_insert.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_definebyquery_insert.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_definebyquery_insert.sql	(revision 23677)
@@ -9,2 +9,3 @@
     diff_id = @DIFF_ID@ -- Update this with the appropriate diff_id
     AND fault = 0
+    AND quality = 0
Index: /branches/pap/ippTools/share/magictool_definebyquery_select_test.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_definebyquery_select_test.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_definebyquery_select_test.sql	(revision 23677)
@@ -25,5 +25,5 @@
     JOIN warpSkyfile USING(warp_id, skycell_id)
     WHERE
-        warpSkyfile.ignored = 0
+        warpSkyfile.quality = 0
         AND warpRun.state = 'full'
     -- INSERT HERE any additional restrictions (e.g., exp_id, warpSkyfile.good_frac)
Index: /branches/pap/ippTools/share/magictool_definebyquery_temp_insert.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_definebyquery_temp_insert.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_definebyquery_temp_insert.sql	(revision 23677)
@@ -20,4 +20,5 @@
 WHERE
     diffSkyfile.fault = 0
+    AND diffSkyfile.quality = 0
 -- WHERE hook %s
 GROUP BY
Index: /branches/pap/ippTools/share/magictool_diffskyfile.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_diffskyfile.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_diffskyfile.sql	(revision 23677)
@@ -20,8 +20,9 @@
     ON warpSkyfile.warp_id = warpSkyCellMap.warp_id
     AND warpSkyfile.skycell_id = warpSkyCellMap.skycell_id
-    AND warpSkyfile.ignored = 0
+    AND warpSkyfile.quality = 0
 WHERE
     diffRun.state = 'full'
     AND diffSkyfile.fault = 0
+    AND diffSkyfile.quality = 0
 --   AND magicRun.state = 'full'
 --   AND magicMask.fault = 0
Index: /branches/pap/ippTools/share/magictool_inputs.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_inputs.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_inputs.sql	(revision 23677)
@@ -10,4 +10,5 @@
     diffSkyfile.path_base,
     diffSkyfile.fault
+    diffSkyfile.quality
 FROM magicRun
 JOIN magicInputSkyfile
@@ -35,2 +36,3 @@
 WHERE
     fault = 0
+    AND quality = 0
Index: /branches/pap/ippTools/share/magictool_warpskyfile.sql
===================================================================
--- /branches/pap/ippTools/share/magictool_warpskyfile.sql	(revision 23676)
+++ /branches/pap/ippTools/share/magictool_warpskyfile.sql	(revision 23677)
@@ -21,4 +21,5 @@
     warpRun.state = 'full'
     AND warpSkyfile.fault = 0
+    AND warpSkyfile.quality = 0
 --   AND magicRun.state = 'full'
 --   AND magicMask.fault = 0
Index: /branches/pap/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- /branches/pap/ippTools/share/pxadmin_create_tables.sql	(revision 23676)
+++ /branches/pap/ippTools/share/pxadmin_create_tables.sql	(revision 23677)
@@ -18,6 +18,6 @@
     epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
     PRIMARY KEY(exp_name, camera, telescope),
-    KEY(fault))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    KEY(fault)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE summitImfile (
@@ -34,7 +34,6 @@
     PRIMARY KEY(exp_name, camera, telescope, class, class_id),
     KEY(file_id),
-    FOREIGN KEY (exp_name, camera, telescope)
-        REFERENCES  summitExp(exp_name, camera, telescope))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE pzDownloadExp (
@@ -46,7 +45,6 @@
     PRIMARY KEY(exp_name, camera, telescope),
     KEY(state),
-    FOREIGN KEY (exp_name, camera, telescope)
-        REFERENCES  summitExp(exp_name, camera, telescope))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE pzDownloadImfile (
@@ -62,8 +60,7 @@
     PRIMARY KEY(exp_name, camera, telescope, class, class_id),
     KEY(fault),
-    FOREIGN KEY (exp_name, camera, telescope)
-        REFERENCES  pzDownloadExp(exp_name, camera, telescope),
-    FOREIGN KEY (exp_name, camera, telescope, class, class_id)
-        REFERENCES  summitImfile(exp_name, camera, telescope, class, class_id)) ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY (exp_name, camera, telescope) REFERENCES pzDownloadExp(exp_name, camera, telescope),
+    FOREIGN KEY(exp_name, camera, telescope, class, class_id) REFERENCES summitImfile(exp_name, camera, telescope, class, class_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE newExp (
@@ -98,7 +95,6 @@
     epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
     PRIMARY KEY(exp_id, tmp_class_id),
-    FOREIGN KEY (exp_id)
-        REFERENCES  newExp(exp_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(exp_id) REFERENCES newExp(exp_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE rawExp (
@@ -172,7 +168,6 @@
     KEY(end_stage),
     KEY(fault),
-    FOREIGN KEY (exp_id)
-        REFERENCES  newExp(exp_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(exp_id) REFERENCES newExp(exp_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE rawImfile (
@@ -246,8 +241,8 @@
     KEY(fault),
     KEY(raw_image_id),
+    KEY(quality),
     UNIQUE KEY(exp_id, tmp_class_id),
-    FOREIGN KEY (exp_id, tmp_class_id)
-        REFERENCES newImfile(exp_id, tmp_class_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(exp_id, tmp_class_id) REFERENCES newImfile(exp_id, tmp_class_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE chipRun (
@@ -272,7 +267,6 @@
     KEY(end_stage),
     INDEX(chip_id, exp_id),
-    FOREIGN KEY (exp_id)
-        REFERENCES rawExp(exp_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(exp_id) REFERENCES rawExp(exp_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE chipImfile (
@@ -282,6 +276,6 @@
     PRIMARY KEY(chip_id, class_id),
     KEY(chip_imfile_id),
-    FOREIGN KEY (chip_id) REFERENCES  chipRun(chip_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE chipProcessedImfile (
@@ -348,12 +342,13 @@
     KEY(data_state),
     KEY(fault),
-    FOREIGN KEY (chip_id, exp_id) REFERENCES  chipRun(chip_id, exp_id),
-    FOREIGN KEY (exp_id, class_id) REFERENCES  rawImfile(exp_id, class_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    KEY(quality),
+    FOREIGN KEY(chip_id, exp_id) REFERENCES chipRun(chip_id, exp_id),
+    FOREIGN KEY(exp_id, class_id) REFERENCES rawImfile(exp_id, class_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE chipMask (
     label VARCHAR(64),
-    PRIMARY KEY(label))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    PRIMARY KEY(label)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE camRun (
@@ -378,7 +373,6 @@
     KEY(end_stage),
     INDEX(cam_id, chip_id),
-    FOREIGN KEY (chip_id)
-        REFERENCES chipRun(chip_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE camProcessedExp (
@@ -446,12 +440,12 @@
     PRIMARY KEY(cam_id),
     KEY(fault),
-    FOREIGN KEY (cam_id)
-        REFERENCES camRun(cam_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    KEY(quality),
+    FOREIGN KEY(cam_id) REFERENCES camRun(cam_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE camMask (
     label VARCHAR(64),
-    PRIMARY KEY(label))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    PRIMARY KEY(label)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE fakeRun (
@@ -474,7 +468,6 @@
     KEY(end_stage),
     INDEX(fake_id, cam_id),
-    FOREIGN KEY (cam_id)
-        REFERENCES camRun(cam_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(cam_id) REFERENCES camRun(cam_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE fakeProcessedImfile (
@@ -492,14 +485,12 @@
     PRIMARY KEY(fake_id, exp_id, class_id),
     KEY(fault),
-    FOREIGN KEY (fake_id)
-        REFERENCES fakeRun(fake_id),
-    FOREIGN KEY (exp_id, class_id)
-        REFERENCES rawImfile(exp_id, class_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(fake_id) REFERENCES fakeRun(fake_id),
+    FOREIGN KEY(exp_id, class_id) REFERENCES rawImfile(exp_id, class_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE fakeMask (
     label VARCHAR(64),
-    PRIMARY KEY(label))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    PRIMARY KEY(label)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE detRun (
@@ -534,5 +525,4 @@
     ref_det_id BIGINT,
     ref_iter INT,
-    -- parent INT, :: dropping this
     PRIMARY KEY(det_id),
     KEY(det_id),
@@ -542,21 +532,18 @@
     KEY(state),
     KEY(label),
-    -- KEY(parent), :: dropping this
-    INDEX(det_id, iteration))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    INDEX(det_id, iteration)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE detInputExp (
-det_id BIGINT,
-iteration INT,
-exp_id BIGINT,
-include TINYINT,
-PRIMARY KEY(det_id, iteration, exp_id),
-INDEX(det_id, exp_id),
-INDEX(det_id, iteration),
-FOREIGN KEY (det_id)
-REFERENCES  detRun(det_id),
-FOREIGN KEY (exp_id)
-REFERENCES  rawExp(exp_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    det_id BIGINT,
+    iteration INT,
+    exp_id BIGINT,
+    include TINYINT,
+    PRIMARY KEY(det_id, iteration, exp_id),
+    INDEX(det_id, exp_id),
+    INDEX(det_id, iteration),
+    FOREIGN KEY(det_id) REFERENCES detRun(det_id),
+    FOREIGN KEY(exp_id) REFERENCES rawExp(exp_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE detProcessedImfile (
@@ -584,8 +571,6 @@
     INDEX(det_id, class_id),
     INDEX(det_id, exp_id),
-    FOREIGN KEY (det_id, exp_id)
-        REFERENCES  detInputExp(det_id, exp_id),
-    FOREIGN KEY (exp_id, class_id)
-        REFERENCES  rawImfile(exp_id, class_id)
+    FOREIGN KEY(det_id, exp_id) REFERENCES detInputExp(det_id, exp_id),
+    FOREIGN KEY(exp_id, class_id) REFERENCES rawImfile(exp_id, class_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -610,8 +595,6 @@
     PRIMARY KEY(det_id, exp_id),
     KEY(fault),
-    FOREIGN KEY (det_id, exp_id)
-        REFERENCES  detInputExp(det_id, exp_id),
-    FOREIGN KEY (det_id, exp_id)
-        REFERENCES  detProcessedImfile(det_id, exp_id)
+    FOREIGN KEY(det_id, exp_id) REFERENCES detInputExp(det_id, exp_id),
+    FOREIGN KEY(det_id, exp_id) REFERENCES detProcessedImfile(det_id, exp_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -634,8 +617,6 @@
     PRIMARY KEY(det_id, iteration, class_id),
     KEY(fault),
-    FOREIGN KEY (det_id, iteration)
-        REFERENCES  detInputExp(det_id, iteration),
-    FOREIGN KEY (det_id, class_id)
-        REFERENCES  detProcessedImfile(det_id, class_id)
+    FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
+    FOREIGN KEY(det_id, class_id) REFERENCES detProcessedImfile(det_id, class_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -649,8 +630,6 @@
     PRIMARY KEY(det_id, iteration, class_id),
     KEY(fault),
-    FOREIGN KEY (det_id, iteration)
-    REFERENCES  detInputExp(det_id, iteration),
-    FOREIGN KEY (det_id, iteration, class_id)
-    REFERENCES  detStackedImfile(det_id, iteration, class_id)
+    FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
+    FOREIGN KEY(det_id, iteration, class_id) REFERENCES  detStackedImfile(det_id, iteration, class_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -674,8 +653,6 @@
     KEY(fault),
     INDEX(det_id, iteration),
-    FOREIGN KEY (det_id)
-    REFERENCES  detInputExp(det_id),
-    FOREIGN KEY (det_id, iteration, class_id)
-    REFERENCES  detNormalizedStatImfile(det_id, iteration, class_id)
+    FOREIGN KEY(det_id) REFERENCES detInputExp(det_id),
+    FOREIGN KEY(det_id, iteration, class_id) REFERENCES detNormalizedStatImfile(det_id, iteration, class_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -697,8 +674,6 @@
     PRIMARY KEY(det_id, iteration),
     KEY(fault),
-    FOREIGN KEY (det_id, iteration)
-    REFERENCES  detInputExp(det_id, iteration),
-    FOREIGN KEY (det_id, iteration)
-    REFERENCES  detNormalizedImfile(det_id, iteration)
+    FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
+    FOREIGN KEY(det_id, iteration) REFERENCES detNormalizedImfile(det_id, iteration)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -735,8 +710,6 @@
     KEY(fault),
     INDEX(det_id, iteration, exp_id),
-    FOREIGN KEY (det_id, iteration, exp_id)
-    REFERENCES  detInputExp(det_id, iteration, exp_id),
-    FOREIGN KEY (det_id, exp_id, class_id)
-    REFERENCES  detProcessedImfile(det_id, exp_id, class_id)
+    FOREIGN KEY (det_id, iteration, exp_id) REFERENCES detInputExp(det_id, iteration, exp_id),
+    FOREIGN KEY (det_id, exp_id, class_id) REFERENCES detProcessedImfile(det_id, exp_id, class_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -770,8 +743,6 @@
        KEY(fault),
        INDEX(det_id, iteration),
-       FOREIGN KEY (det_id, iteration, exp_id)
-       REFERENCES  detInputExp(det_id, iteration, exp_id),
-       FOREIGN KEY (det_id, iteration, exp_id)
-       REFERENCES  detResidImfile(det_id, iteration, exp_id)
+       FOREIGN KEY(det_id, iteration, exp_id) REFERENCES detInputExp(det_id, iteration, exp_id),
+       FOREIGN KEY(det_id, iteration, exp_id) REFERENCES detResidImfile(det_id, iteration, exp_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -787,8 +758,6 @@
        PRIMARY KEY(det_id, iteration),
        KEY(fault),
-       FOREIGN KEY (det_id, iteration)
-         REFERENCES  detInputExp(det_id, iteration),
-       FOREIGN KEY (det_id, iteration)
-         REFERENCES  detResidExp(det_id, iteration)
+       FOREIGN KEY(det_id, iteration) REFERENCES detInputExp(det_id, iteration),
+       FOREIGN KEY(det_id, iteration) REFERENCES detResidExp(det_id, iteration)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -811,6 +780,5 @@
        PRIMARY KEY(det_id, iteration, class_id),
        KEY(fault),
-       FOREIGN KEY (det_id, iteration)
-         REFERENCES  detRun(det_id, iteration)
+       FOREIGN KEY(det_id, iteration) REFERENCES detRun(det_id, iteration)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -837,6 +805,5 @@
     KEY(end_stage),
     INDEX(warp_id, fake_id),
-    FOREIGN KEY (fake_id)
-        REFERENCES fakeRun(fake_id)
+    FOREIGN KEY(fake_id) REFERENCES fakeRun(fake_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -849,6 +816,5 @@
     PRIMARY KEY(warp_id, skycell_id, tess_id, class_id),
     KEY(fault),
-    FOREIGN KEY (warp_id)
-        REFERENCES warpRun(warp_id)
+    FOREIGN KEY(warp_id) REFERENCES warpRun(warp_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -859,6 +825,6 @@
     PRIMARY KEY(warp_id, skycell_id),
     KEY(warp_skyfile_id),
-    FOREIGN KEY (warp_id) REFERENCES  warpRun(warp_id))
-ENGINE=innodb DEFAULT CHARSET=latin1;
+    FOREIGN KEY(warp_id) REFERENCES warpRun(warp_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 
@@ -880,5 +846,4 @@
     ymin INT,
     ymax INT,
-    ignored TINYINT,
     quality SMALLINT NOT NULL,
     fault SMALLINT,
@@ -886,7 +851,7 @@
     PRIMARY KEY(warp_id, skycell_id, tess_id),
     KEY(good_frac),
-    KEY(ignored), KEY(fault),
-    FOREIGN KEY (warp_id, skycell_id, tess_id)
-        REFERENCES warpSkyCellMap(warp_id, skycell_id, tess_id)
+    KEY(fault),
+    KEY(quality),
+    FOREIGN KEY(warp_id, skycell_id, tess_id) REFERENCES warpSkyCellMap(warp_id, skycell_id, tess_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -918,6 +883,6 @@
         warp_id BIGINT,
         PRIMARY KEY(stack_id, warp_id),
-        FOREIGN KEY (stack_id)  REFERENCES  stackRun(stack_id),
-        FOREIGN KEY (warp_id)  REFERENCES  warpSkyfile(warp_id)
+        FOREIGN KEY(stack_id) REFERENCES stackRun(stack_id),
+        FOREIGN KEY(warp_id) REFERENCES warpSkyfile(warp_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -954,5 +919,6 @@
         KEY(good_frac),
         KEY(fault),
-        FOREIGN KEY (stack_id)  REFERENCES  stackRun(stack_id)
+        KEY(quality),
+        FOREIGN KEY(stack_id) REFERENCES stackRun(stack_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -972,5 +938,5 @@
         KEY(state),
         KEY(tess_id),
-        FOREIGN KEY (exp_id) REFERENCES rawExp(exp_id)
+        FOREIGN KEY(exp_id) REFERENCES rawExp(exp_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -992,9 +958,9 @@
         KEY(skycell_id),
         KEY(tess_id),
-        FOREIGN KEY (diff_id)  REFERENCES  diffRun(diff_id),
-        FOREIGN KEY (warp1, skycell_id, tess_id)  REFERENCES  warpSkyfile(warp_id, skycell_id, tess_id),
-        FOREIGN KEY (warp2, skycell_id, tess_id)  REFERENCES  warpSkyfile(warp_id, skycell_id, tess_id),
-        FOREIGN KEY (stack1)  REFERENCES  stackSumSkyfile(stack_id),
-        FOREIGN KEY (stack2)  REFERENCES  stackSumSkyfile(stack_id)
+        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id),
+        FOREIGN KEY(warp1, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id),
+        FOREIGN KEY(warp2, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id),
+        FOREIGN KEY(stack1) REFERENCES stackSumSkyfile(stack_id),
+        FOREIGN KEY(stack2) REFERENCES stackSumSkyfile(stack_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1029,5 +995,6 @@
         KEY(good_frac),
         KEY(fault),
-        FOREIGN KEY (diff_id)  REFERENCES  diffRun(diff_id)
+        KEY(quality),
+        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1049,6 +1016,6 @@
         KEY(label),
         KEY(fault),
-        FOREIGN KEY (exp_id)  REFERENCES rawExp(exp_id),
-        FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id)
+        FOREIGN KEY(exp_id)  REFERENCES rawExp(exp_id),
+        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1058,6 +1025,6 @@
         node VARCHAR(64),
         PRIMARY KEY(magic_id, diff_id, node),
-        FOREIGN KEY (magic_id)  REFERENCES  magicRun(magic_id),
-        FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id)
+        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id),
+        FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1070,5 +1037,5 @@
         KEY(dep),
         INDEX(magic_id, node),
-        FOREIGN KEY (magic_id)  REFERENCES  magicRun(magic_id)
+        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1079,6 +1046,6 @@
         fault SMALLINT,
         PRIMARY KEY(magic_id, node),
-        FOREIGN KEY (magic_id)  REFERENCES  magicRun(magic_id),
-        FOREIGN KEY (magic_id, node)  REFERENCES  magicTree(magic_id, node),
+        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id),
+        FOREIGN KEY(magic_id, node) REFERENCES magicTree(magic_id, node),
         KEY(fault)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
@@ -1090,5 +1057,5 @@
         fault SMALLINT,
         PRIMARY KEY(magic_id),
-        FOREIGN KEY (magic_id)  REFERENCES  magicRun(magic_id),
+        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id),
         KEY(fault)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
@@ -1111,5 +1078,5 @@
         KEY(magic_id),
         KEY(label),
-        FOREIGN KEY (magic_id)  REFERENCES  magicRun(magic_id)
+        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1122,5 +1089,5 @@
     PRIMARY KEY(magic_ds_id, component),
     KEY(fault),
-    FOREIGN KEY (magic_ds_id) REFERENCES magicDSRun(magic_ds_id)
+    FOREIGN KEY(magic_ds_id) REFERENCES magicDSRun(magic_ds_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1141,5 +1108,5 @@
         KEY(cal_id),
         KEY(last_step),
-        FOREIGN KEY (cal_id)  REFERENCES  calDB(cal_id)
+        FOREIGN KEY(cal_id) REFERENCES calDB(cal_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1169,6 +1136,6 @@
         include TINYINT,
         PRIMARY KEY(corr_id, chip_id),
-        FOREIGN KEY (corr_id)  REFERENCES  flatcorrRun(corr_id),
-        FOREIGN KEY (chip_id)  REFERENCES  chipRun(chip_id)
+        FOREIGN KEY(corr_id) REFERENCES flatcorrRun(corr_id),
+        FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1179,7 +1146,7 @@
         include TINYINT,
         PRIMARY KEY(corr_id, cam_id),
-        FOREIGN KEY (corr_id)  REFERENCES  flatcorrRun(corr_id),
-        FOREIGN KEY (chip_id)  REFERENCES  chipRun(chip_id),
-        FOREIGN KEY (cam_id)  REFERENCES  camRun(cam_id)
+        FOREIGN KEY(corr_id) REFERENCES flatcorrRun(corr_id),
+        FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id),
+        FOREIGN KEY(cam_id) REFERENCES camRun(cam_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
@@ -1233,5 +1200,5 @@
         PRIMARY KEY(job_id, req_id),
         KEY(job_id),
-        FOREIGN KEY (req_id)  REFERENCES  pstampRequest(req_id)
+        FOREIGN KEY(req_id) REFERENCES pstampRequest(req_id)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
Index: /branches/pap/ippTools/share/stacktool_definebyquery_insert.sql
===================================================================
--- /branches/pap/ippTools/share/stacktool_definebyquery_insert.sql	(revision 23676)
+++ /branches/pap/ippTools/share/stacktool_definebyquery_insert.sql	(revision 23677)
@@ -21,3 +21,3 @@
     AND rawExp.filter = '%s'
     AND warpSkyfile.fault = 0
-    AND warpSkyfile.ignored = 0
+    AND warpSkyfile.quality = 0
Index: /branches/pap/ippTools/share/stacktool_definebyquery_insert_random_part1.sql
===================================================================
--- /branches/pap/ippTools/share/stacktool_definebyquery_insert_random_part1.sql	(revision 23676)
+++ /branches/pap/ippTools/share/stacktool_definebyquery_insert_random_part1.sql	(revision 23677)
@@ -28,5 +28,4 @@
         AND rawExp.filter = '%s' -- the result of the query is grouped by filter and inserted for one at a time
         AND warpSkyfile.fault = 0
-        AND warpSkyfile.ignored = 0
         AND warpSkyfile.quality = 0
 -- Put additional constraints here
Index: /branches/pap/ippTools/share/stacktool_definebyquery_part1.sql
===================================================================
--- /branches/pap/ippTools/share/stacktool_definebyquery_part1.sql	(revision 23676)
+++ /branches/pap/ippTools/share/stacktool_definebyquery_part1.sql	(revision 23677)
@@ -24,5 +24,4 @@
     WHERE
         warpRun.state = 'full'
-        AND warpSkyfile.ignored = 0
         AND warpSkyfile.fault = 0
         AND warpSkyfile.quality = 0
Index: /branches/pap/ippTools/share/stacktool_definebyquery_test.sql
===================================================================
--- /branches/pap/ippTools/share/stacktool_definebyquery_test.sql	(revision 23676)
+++ /branches/pap/ippTools/share/stacktool_definebyquery_test.sql	(revision 23677)
@@ -31,5 +31,5 @@
     WHERE
         warpRun.state = 'full'
-    AND warpSkyfile.ignored = 0
+    AND warpSkyfile.quality = 0
     AND warpSkyfile.fault = 0
     -- Any additional selection on warps/exposures goes here
Index: /branches/pap/ippTools/share/stacktool_find_complete_warps.sql
===================================================================
--- /branches/pap/ippTools/share/stacktool_find_complete_warps.sql	(revision 23676)
+++ /branches/pap/ippTools/share/stacktool_find_complete_warps.sql	(revision 23677)
@@ -6,5 +6,5 @@
     COUNT(stackRun.stack_id) AS num_extant
 FROM warpRun
-JOIN warpSkyfile 
+JOIN warpSkyfile
     USING(warp_id)
 JOIN fakeRun
@@ -23,5 +23,6 @@
 WHERE
     warpRun.state = 'full'
-    AND warpSkyfile.ignored = 0
+    AND warpSkyfile.fault = 0
+    AND warpSkyfile.quality = 0
 GROUP BY
     warpSkyfile.skycell_id, stackRun.stack_id
Index: /branches/pap/ippTools/share/stacktool_tosum.sql
===================================================================
--- /branches/pap/ippTools/share/stacktool_tosum.sql	(revision 23676)
+++ /branches/pap/ippTools/share/stacktool_tosum.sql	(revision 23677)
@@ -12,7 +12,4 @@
     USING(stack_id)
 WHERE
-    ((stackRun.state = 'new'
-        AND stackSumSkyfile.stack_id IS NULL)
-    OR
-    (stackRun.state = 'update'
-        AND stackSumSkyfile.fault = 0))
+    ((stackRun.state = 'new' AND stackSumSkyfile.stack_id IS NULL)
+    OR (stackRun.state = 'update' AND stackSumSkyfile.fault = 0 AND stackSumSkyfile.quality = 0))
Index: /branches/pap/pswarp/src/pswarpArguments.c
===================================================================
--- /branches/pap/pswarp/src/pswarpArguments.c	(revision 23676)
+++ /branches/pap/pswarp/src/pswarpArguments.c	(revision 23677)
@@ -163,10 +163,4 @@
     }
 
-    float acceptFrac = psMetadataLookupF32(&status, recipe, "ACCEPT.FRAC"); ///< Min fraction of good pixels
-    if (!status) {
-        acceptFrac = 0.0;
-        psWarning("ACCEPT.FRAC is not set in the %s recipe --- defaulting to %f.", PSWARP_RECIPE, poorFrac);
-    }
-
     // Set recipe values in the recipe (since we've possibly altered some)
     psMetadataAddS32(recipe, PS_LIST_TAIL, "GRID.NX", PS_META_REPLACE,
@@ -180,6 +174,4 @@
     psMetadataAddF32(recipe, PS_LIST_TAIL, "POOR.FRAC", PS_META_REPLACE,
                      "Fraction of bad flux for a pixel to be marked as poor", poorFrac);
-    psMetadataAddF32(recipe, PS_LIST_TAIL, "ACCEPT.FRAC", PS_META_REPLACE,
-                     "Minimum fraction of good pixels for result to be accepted", acceptFrac);
 
     // Set recipe values in the arguments
@@ -194,6 +186,4 @@
     psMetadataAddF32(config->arguments, PS_LIST_TAIL, "POOR.FRAC", 0,
                      "Fraction of bad flux for a pixel to be marked as poor", poorFrac);
-    psMetadataAddF32(config->arguments, PS_LIST_TAIL, "ACCEPT.FRAC", 0,
-                     "Minimum fraction of good pixels for result to be accepted", acceptFrac);
 
     psTrace("pswarp", 1, "Done with pswarpArguments...\n");
Index: /branches/pap/pswarp/src/pswarpErrorCodes.dat
===================================================================
--- /branches/pap/pswarp/src/pswarpErrorCodes.dat	(revision 23676)
+++ /branches/pap/pswarp/src/pswarpErrorCodes.dat	(revision 23677)
@@ -9,2 +9,3 @@
 IO			Problem in FITS I/O
 DATA                    Problem in data values
+NO_OVERLAP		No overlap between input and skycell
Index: /branches/pap/pswarp/src/pswarpLoop.c
===================================================================
--- /branches/pap/pswarp/src/pswarpLoop.c	(revision 23676)
+++ /branches/pap/pswarp/src/pswarpLoop.c	(revision 23677)
@@ -274,14 +274,25 @@
     }
 
+    if (!output->data_exists) {
+        psWarning("No overlap between input and skycell.");
+        if (stats) {
+            psMetadataAddS32(stats, PS_LIST_TAIL, "QUALITY", PS_META_REPLACE,
+                             "No overlap between input and skycell", PSWARP_ERR_NO_OVERLAP);
+        }
+        psphotFilesActivate(config, false);
+        psFree(cells);
+        psFree(view);
+        return true;
+    }
+
     pmCell *outCell = output->parent;   ///< Output cell
     pmChip *outChip = outCell->parent;  ///< Output chip
     pmFPA *outFPA = outChip->parent;    ///< Output FP
 
-    if (!pswarpPixelFraction(output, stats, config)) {
-        // Don't write output images, and don't bother about anything else
-        output->data_exists = outCell->data_exists = outChip->data_exists = false;
+    if (pswarpPixelFraction(output, stats, config)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to calculate pixel regions.");
         psFree(cells);
         psFree(view);
-        goto COMPLETED;
+        return false;
     }
 
@@ -457,5 +468,4 @@
     // Now done with the skycell side of things
 
-    COMPLETED:
     // Write out summary statistics
     if (stats) {
Index: /branches/pap/pswarp/src/pswarpPixelFraction.c
===================================================================
--- /branches/pap/pswarp/src/pswarpPixelFraction.c	(revision 23676)
+++ /branches/pap/pswarp/src/pswarpPixelFraction.c	(revision 23677)
@@ -34,13 +34,12 @@
     PS_ASSERT_IMAGE_TYPE(readout->mask, PS_TYPE_IMAGE_MASK, false);
 
-    if (stats) {
-        PS_ASSERT_METADATA_NON_NULL(stats, false);
+    if (!stats) {
+        // No point in continuing --- we record results to the statistics
+        return true;
     }
     PS_ASSERT_PTR_NON_NULL(config, false);
     PS_ASSERT_METADATA_NON_NULL(config->arguments, false);
 
-    bool status; 
-
-    float minFrac = psMetadataLookupF32(NULL, config->arguments, "ACCEPT.FRAC"); ///< Minimum fraction
+    bool status;
 
     // load the recipe
@@ -52,5 +51,5 @@
 
     // output mask bits
-    psImageMaskType maskValue = psMetadataLookupImageMask(&status, recipe, "MASK.OUTPUT"); 
+    psImageMaskType maskValue = psMetadataLookupImageMask(&status, recipe, "MASK.OUTPUT");
     psAssert (status, "MASK.OUTPUT was not defined");
 
@@ -59,15 +58,12 @@
 
     int numCols = image->numCols, numRows = image->numRows; ///< Size of image
-    long numPix = numCols * numRows;
 
     // Range of valid pixels
     int xMin = INT_MAX, xMax = -INT_MAX, yMin = INT_MAX, yMax = -INT_MAX;
 
-    long numBad = 0;                     ///< Number of bad pixels
+    long numGood = 0;                   ///< Number of bad pixels
     for (int y = 0; y < numRows; y++) {
         for (int x = 0; x < numCols; x++) {
-            if (mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskValue) {
-                numBad++;
-            } else {
+            if (!(mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskValue))
                 if (y > yMax) {
                     yMax = y;
@@ -86,10 +82,5 @@
     }
 
-    float goodFrac = (numPix - numBad) / (float)numPix; ///< Fraction of good pixels
-    bool accept = (goodFrac >= minFrac ? true : false); ///< Accept this readout?
-
     if (stats) {
-        psMetadataAddBool(stats, PS_LIST_HEAD, "ACCEPT", 0, "Accept this readout?", accept);
-
         psMetadataAddS32(stats, PS_LIST_TAIL, "RANGE.XMIN", 0, "Minimum valid x value", xMin);
         psMetadataAddS32(stats, PS_LIST_TAIL, "RANGE.XMAX", 0, "Maximum valid x value", xMax);
@@ -98,5 +89,5 @@
     }
 
-    return accept;
+    return true;
 }
 
