Index: /trunk/ippToPsps/config/ippToPspsDbSchema.sql
===================================================================
--- /trunk/ippToPsps/config/ippToPspsDbSchema.sql	(revision 37916)
+++ /trunk/ippToPsps/config/ippToPspsDbSchema.sql	(revision 37917)
@@ -221,4 +221,9 @@
 -- Table structure for table `pending`
 --
+-- i had to do this to get uniqueness prob sorted out:
+
+--show index from pending;
+--alter table pending drop index `name`;
+--where name was broken becaue it only indedxed stage idg
 
 DROP TABLE IF EXISTS `pending`;
Index: /trunk/ippToPsps/config/tables.ST.vot
===================================================================
--- /trunk/ippToPsps/config/tables.ST.vot	(revision 37916)
+++ /trunk/ippToPsps/config/tables.ST.vot	(revision 37917)
@@ -1080,5 +1080,5 @@
         <DESCRIPTION>Flux inside r = 3</DESCRIPTION>
       </FIELD>
-      <FIELD name="gcflxR3Err" arraysize="1" datatype="float" unit="Jy" default="-999">
+      <FIELD name="gc8flxR3Err" arraysize="1" datatype="float" unit="Jy" default="-999">
         <DESCRIPTION>estimated error in c8flxR3</DESCRIPTION>
       </FIELD>
@@ -2847,17 +2847,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="gflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- r-band values -->
       <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -2978,17 +2965,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="rflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- i-band values -->
       <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -3109,17 +3083,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="iflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- z-band values -->
       <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -3240,17 +3201,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="zflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- y-band values -->
       <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -3371,17 +3319,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="yflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <DATA>
 	<TABLEDATA></TABLEDATA>
@@ -3533,17 +3468,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="gc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- r-band values -->
       <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -3664,17 +3586,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="rc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- i-band values -->
       <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -3795,17 +3704,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="ic6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="ic6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="ic6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="ic6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- z-band values -->
       <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -3926,17 +3822,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="zc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- y-band values -->
       <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -4057,17 +3940,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="yc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <DATA>
 	<TABLEDATA></TABLEDATA>
@@ -4219,17 +4089,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="gc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- r-band values -->
       <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -4350,17 +4207,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="rc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- i-band values -->
       <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -4481,17 +4325,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="ic8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="ic8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="ic8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="ic8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- z-band values -->
       <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -4612,17 +4443,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="zc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <!-- y-band values -->
       <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
@@ -4743,17 +4561,4 @@
         <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
       </FIELD>
-      <FIELD name="yc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
-        <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
-        <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
-      </FIELD>
-
       <DATA>
 	<TABLEDATA></TABLEDATA>
Index: /trunk/ippToPsps/jython/detectionbatch.py
===================================================================
--- /trunk/ippToPsps/jython/detectionbatch.py	(revision 37916)
+++ /trunk/ippToPsps/jython/detectionbatch.py	(revision 37917)
@@ -611,8 +611,9 @@
 
     def updatePspsUniqueIDs(self,table, ota):
-        sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, objID from \
-        (select @r:=0) r, "+table+" t) as foo using (objID) set \
-        uniquePspsP2id = ((" +str(self.batchID)+ "*1000000000 ) \
-        + (" +str(ota) + "*10000000  )+rownum)"
+        #sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, objID from \
+        #(select @r:=0) r, "+table+" t) as foo using (objID) set \
+        #uniquePspsP2id = ((" +str(self.batchID)+ "*1000000000 ) \
+        #+ (" +str(ota) + "*10000000  )+rownum)"
+        sql = "UPDATE "+table+" set uniquePspsP2id = (("+str(self.batchID)+"*1000000000 ) + (" +str(ota) + "*10000000  )+ row)"
         try: self.scratchDb.execute(sql)
         except:
@@ -647,11 +648,19 @@
         #self.logger.info("successful populate ");
         # now add DVO IDs
+        self.logger.infoPair("Adding 'row' column to ", "Detection_"+chipname)
+        #detection has a primary index, so don't add, use this one
+        self.scratchDb.addRowCountColumnNoKey("Detection_"+chipname, "row")
         self.updateDvoIDs("Detection_" + chipname, self.imageIDs[chipname])
         #self.logger.info("updated dvoids")
         results['NULLOBJID'] = self.scratchDb.reportAndDeleteRowsWithNULLS("Detection_" + chipname, "objID")
         #self.logger.info("deleted nulls")
+
+        ota = x*10+y
+
+
         self.logger.info("add psps unique p2 ids")
-        ota = x*10+y
         self.updatePspsUniqueIDs("Detection_" + chipname, ota)
+        self.logger.infoPair("Dropping 'row' column from ", "Detection_"+chipname)
+        self.scratchDb.dropColumn("Detection_"+chipname,"row")
         self.updateImageID("Detection_" + chipname, x, y)
         #self.logger.info("updateImageId")
Index: /trunk/ippToPsps/jython/diffbatch.py
===================================================================
--- /trunk/ippToPsps/jython/diffbatch.py	(revision 37916)
+++ /trunk/ippToPsps/jython/diffbatch.py	(revision 37917)
@@ -327,6 +327,12 @@
         self.logger.infoPair("need to cull"," nulls objid")
         results= self.scratchDb.reportAndDeleteRowsWithNULLS("DiffDetection", "diffObjID")
+        self.logger.infoPair("Adding 'row' columns to", "DiffDetection tables")
+        # diff has a primary key, so use this instead
+        self.scratchDb.addRowCountColumnNoKey("DiffDetection", "row")
         self.logger.infoPair("adding","uniquePSPSDFid")
         self.updatePspsUniqueIDs("DiffDetection")
+        self.logger.infoPair("Dropping row column from", "DiffDetection table")
+        self.scratchDb.dropColumn("DiffDetection", "row")
+ 
 
     '''
@@ -424,7 +430,8 @@
 
     def updatePspsUniqueIDs(self,table):
-        sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
-        (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
-        uniquePspsDFid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
+        #sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
+        #(select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
+        #uniquePspsDFid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
+        sql = "UPDATE DiffDetection set uniquePspsDFid = (("+str(self.batchID)+"*1000000000 ) + row)"
         try: self.scratchDb.execute(sql)
         except:
Index: /trunk/ippToPsps/jython/diffobjectbatch.py
===================================================================
--- /trunk/ippToPsps/jython/diffobjectbatch.py	(revision 37916)
+++ /trunk/ippToPsps/jython/diffobjectbatch.py	(revision 37917)
@@ -177,8 +177,13 @@
             sql += ")) "
 
-            sql += "SET DiffDetObject.n" + filter[1] + " = NCODE, "
-            sql += "DiffDetObject.nDetections = DiffDetObject.nDetections + cps.NSTACK_DET"
+            sql += "SET DiffDetObject.n" + filter[1] + " = NWARP, "
+            sql += "DiffDetObject.nDetections = DiffDetObject.nDetections + cps.NWARP"
             self.logger.info(sql)
-            self.scratchDb.execute(sql)
+            try:
+                self.scratchDb.execute(sql)
+            except:
+                self.logger.errorPair("failed sql", sql)
+                return False
+
 
         # XXX this does not seem like a good thing to leave in SQL
@@ -187,7 +192,12 @@
             # now do a sum of n[filters], but do not include the ones with -999
             sql  = "UPDATE DiffDetObject "
-            sql += "SET nDetections = nDetections + n" + filter[1]
-            sql += " WHERE n" + filter[1] + " != -999"
-            self.scratchDb.execute(sql)
+            sql += "SET nDetections = nDetections + " + filter[1] +"nTotal "
+            sql += " WHERE " + filter[1] + "nTotal != -999"
+            try:
+                self.scratchDb.execute(sql)
+            except:
+                self.logger.errorPair("failed sql", sql)
+                return False
+
 
     '''
@@ -368,7 +378,8 @@
 
     def updatePspsUniqueIDs(self,table):
-        sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
-        (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
-        uniquePspsDOid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
+#        sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
+#        (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
+#        uniquePspsDOid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
+        sql = "UPDATE DiffDetObject set uniquePspsDOid = (("+str(self.batchID)+"*1000000000 ) + row)"
         try: self.scratchDb.execute(sql)
         except:
@@ -407,5 +418,10 @@
         self.scratchDb.execute("ALTER TABLE DiffDetObject CHANGE dec_ `dec` double")
 
+        self.logger.infoPair("Adding 'row' columns to", "Diff Det Object")
+        self.scratchDb.addRowCountColumn("DiffDetObject", "row")
+        self.logger.infoPair("Adding unique", "Diff Det Object ")
         self.updatePspsUniqueIDs("DiffDetObject")
+        self.logger.infoPair("Dropping row column from", "DiffDetObject table")
+        self.scratchDb.dropColumn("DiffDetObject", "row")
 
         self.dvoObjects.purgeRegion(self.region)
Index: /trunk/ippToPsps/jython/forcedobjectbatch.py
===================================================================
--- /trunk/ippToPsps/jython/forcedobjectbatch.py	(revision 37916)
+++ /trunk/ippToPsps/jython/forcedobjectbatch.py	(revision 37917)
@@ -180,8 +180,12 @@
         for filter in filters:
             # now do a sum of n[filters], but do not include the ones with -999
-            sql  = "UPDATE ObjectThin "
-            sql += "SET nDetections = nDetections + n" + filter[1]
+            sql  = "UPDATE ForcedMeanObject"
+            sql += "SET nDetections = nDetections + " + filter[1] +"nTotal "
             sql += " WHERE n" + filter[1] + " != -999"
             self.scratchDb.execute(sql)
+            try: self.scratchDb.execute(sql)
+            except:
+                self.logger.errorPair("failed update MeanObject nDetections", sql)
+                raise
 
     '''
Index: /trunk/ippToPsps/jython/forcedwarpbatch.py
===================================================================
--- /trunk/ippToPsps/jython/forcedwarpbatch.py	(revision 37916)
+++ /trunk/ippToPsps/jython/forcedwarpbatch.py	(revision 37917)
@@ -224,5 +224,10 @@
         self.generateRandomIDs()
 
+        self.logger.infoPair("Adding 'row' columns to", "ForcedWarpMeasurement")
+        self.scratchDb.addRowCountColumn("ForcedWarpMeasurement", "row")
+        self.logger.infoPair("Adding unique ids to", "ForcedWarpMeasurement")
         self.generateUniquePspsIDs()
+        self.logger.infoPair("Dropping row column from", "ForcedWarpMeasurement table")
+        self.scratchDb.dropColumn("ForcedWarpMeasurement", "row")
            
         # add indexes ForcedWarpMeasurement
@@ -342,7 +347,9 @@
 
     def generatePspsUniqueIDs(self):
-        sql = "UPDATE ForcedWarpMeasurement join (select @r:=@r+1 rownum, objID from \
-        (select @r:=0) r, ForcedWarpMeasurement t) as foo using (objID) set \
-        uniquePspsFWid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
+#        sql = "UPDATE ForcedWarpMeasurement join (select @r:=@r+1 rownum, objID from \
+#        (select @r:=0) r, ForcedWarpMeasurement t) as foo using (objID) set \
+#        uniquePspsFWid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
+        sql = "UPDATE ForcedWarpMeasurement set uniquePspsFWid = (("+str(self.batchID)+"*1000000000 ) + row)"
+
         try: self.scratchDb.execute(sql)
         except:
Index: /trunk/ippToPsps/jython/gpc1db.py
===================================================================
--- /trunk/ippToPsps/jython/gpc1db.py	(revision 37916)
+++ /trunk/ippToPsps/jython/gpc1db.py	(revision 37917)
@@ -145,7 +145,7 @@
         elif batchType == "FW":
             
-            stage = "forcedwarp"
-            sql = "SELECT DISTINCT sky_id, radeg, decdeg FROM fullForceInput \
-                   JOIN addRun ON(fullForceInput.ff_id = addRun.stage_id, fullForceInput.warp_id = addRun.stage_extra1) \
+            stage = "fullforce"
+            sql = "SELECT DISTINCT add_id, radeg, decdeg FROM fullForceInput \
+                   JOIN addRun ON(fullForceInput.ff_id = addRun.stage_id AND fullForceInput.warp_id = addRun.stage_extra1) \
                    JOIN minidvodbRun USING(minidvodb_name) \
                    JOIN minidvodbProcessed USING(minidvodb_id) \
Index: /trunk/ippToPsps/jython/ipptopspsdb.py
===================================================================
--- /trunk/ippToPsps/jython/ipptopspsdb.py	(revision 37916)
+++ /trunk/ippToPsps/jython/ipptopspsdb.py	(revision 37917)
@@ -1342,4 +1342,5 @@
                (" + str(box_id) + ", '" + batchType + "', " + str(id) + ")"
 
+            print sql
             try: self.execute(sql)
             except:
@@ -1551,6 +1552,7 @@
 
         # XXX EAM : need to do something special at the poles...
-        if (boxDim['DEC'] > 85): raise
-
+        #if (boxDim['DEC'] > 85): raise
+        #heather commented out for oB   
+   
         # a given box centered at RA,DEC with (linear) size of SIDE has the following bounds
         dR = 0.5*boxDim['SIDE'] / math.cos(math.radians(boxDim['DEC']))
Index: /trunk/ippToPsps/jython/mysql.py
===================================================================
--- /trunk/ippToPsps/jython/mysql.py	(revision 37916)
+++ /trunk/ippToPsps/jython/mysql.py	(revision 37917)
@@ -258,5 +258,6 @@
             self.execute(sql)
         except: pass
-            #self.logger.warn("Index already in place on '" + column + "' for table '" + table + "'")
+            
+           # self.logger.warn("Index already in place on '" + column + "' for table '" + table + "'")
     '''
     Changes the database engine for this table to InnoDb
@@ -477,4 +478,13 @@
         self.execute("SET @i = 0")
         self.execute("UPDATE " + table + " SET " + colName + "=(@i:=@i+1)")
-        self.execute("ALTER TABLE " + table + " ADD PRIMARY KEY (" + colName + ")")
-
+        self.execute("ALTER IGNORE TABLE " + table + " ADD PRIMARY KEY (" + colName + ")")
+
+    '''                                                                                                                                             
+    Adds a column to this table which contains a row count                                                                                          
+    '''
+    def addRowCountColumnNoKey(self, table, colName):
+
+        self.execute("ALTER TABLE " + table + " ADD COLUMN " + colName + " INTEGER FIRST")
+        self.execute("SET @i = 0")
+        self.execute("UPDATE " + table + " SET " + colName + "=(@i:=@i+1)")
+
Index: /trunk/ippToPsps/jython/queue.py
===================================================================
--- /trunk/ippToPsps/jython/queue.py	(revision 37916)
+++ /trunk/ippToPsps/jython/queue.py	(revision 37917)
@@ -29,5 +29,5 @@
         super(Queue, self).__init__(argv)
 
-        # create various objects
+       # create various objects
         self.gpc1Db = Gpc1Db(self.logger, self.config)
 
@@ -132,6 +132,7 @@
                     #dec = self.skychunk.minDec
 
-                    if (dec > 85): raise
-
+                    #if (dec > 85): raise
+                    # this may be a problem for poles # HAF XXX
+                    if (dec > 90): raise
                     # print "dec, dD: ", dec, dD ,self.skychunk.maxDec
 
@@ -170,7 +171,7 @@
 
                         dec = dec + 2*dD
-                        if (dec > 85): raise
-
-                        #dR = 0.5*self.skychunk.boxSize / math.cos(math.radians(dec))
+                        #if (dec > 85): raise
+                        if (dec > 90): raise
+                       #dR = 0.5*self.skychunk.boxSize / math.cos(math.radians(dec))
                         dR = 0.5*self.skychunk.boxSize
                         ra = self.skychunk.minRa + dR
Index: /trunk/ippToPsps/jython/stackbatch.py
===================================================================
--- /trunk/ippToPsps/jython/stackbatch.py	(revision 37916)
+++ /trunk/ippToPsps/jython/stackbatch.py	(revision 37917)
@@ -293,5 +293,11 @@
         self.generateRandomIDs()
 
+        self.logger.infoPair("Adding 'row' columns to", "StackObjectThin")
+        self.scratchDb.addRowCountColumn("StackObjectThin", "row")
+        self.logger.infoPair("Adding unique psps ids to", "StackObjectThin")
         self.generateStackDetectRowIDsAndPspsUniqueIDs()
+        self.logger.infoPair("Dropping row column from", "StackObjectThin table")
+        self.scratchDb.dropColumn("StackObjectThin", "row")
+
 
         # add indexes StackObjectThin
@@ -372,4 +378,14 @@
                 self.logger.errorPair('failed sql: ', sql)
                 raise
+
+
+            # we do not yet set bestdetection, this is a placeholder until we do
+            sql = "UPDATE StackObjectThin set bestDetection = 0"
+            try:
+                self.scratchDb.execute(sql)
+            except:
+                self.logger.errorPair('failed sql: ', sql)
+                raise
+
 
         self.tablesToExport.append("StackObjectThin")
@@ -756,5 +772,5 @@
 
         minRadius = 1
-        maxRadius = 10
+        maxRadius = 9
         if tablename == 'StackApFlx':
             minRadius = 3
@@ -765,5 +781,5 @@
 
         sqlLine = sqlUtility("UPDATE " + tablename + " SET")
-        for radius in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
+        for radius in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
             if radius < minRadius: continue
             if radius > maxRadius: continue
@@ -950,8 +966,10 @@
 
     def generateStackDetectRowIDsAndPspsUniqueIDs(self):
-        sql = "UPDATE StackObjectThin join (select @r:=@r+1 rownum, objID from \
-        (select @r:=0) r, StackObjectThin t) as foo using (objID) set \
-        stackDetectRowID = ((" + str(self.batchID) + " << 32 ) + rownum), \
-        uniquePspsSTid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)";
+#        sql = "UPDATE StackObjectThin join (select @r:=@r+1 rownum, objID from \
+#        (select @r:=0) r, StackObjectThin t) as foo using (objID) set \
+#        stackDetectRowID = ((" + str(self.batchID) + " << 32 ) + rownum), \
+#        uniquePspsSTid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)";
+        sql = "UPDATE StackObjectThin set uniquePspsSTid = (("+str(self.batchID)+"*1000000000 ) + row)"
+
         try: self.scratchDb.execute(sql)
         except:
@@ -1010,5 +1028,5 @@
             self.scratchDb.addColumn(table, filter + "haveData", "tinyint")
 
-        fields = "objID, ippObjID, randomStackObjID, primaryDetection, bestDetection, uniquePspsSTID, "
+        fields = "objID, ippObjID, randomStackObjID, primaryDetection, bestDetection, uniquePspsSTID, StackDetectRowID, "
 
         for i in range(len(self.filters)):
@@ -1016,10 +1034,11 @@
             fields += filter + "ippDetectID, "
             fields += filter + "stackDetectID, "
+#            fields += filter + "StackDetectRowID, " 
             fields += filter + "stackMetaID " # careful here: do not add comma to last entry
             if (i < len(self.filters) - 1):
                 fields += ", "
 
-        if (table == "StackObjectAttributes"):
-            fields += ", stackDetectRowID "
+        #if (table == "StackObjectAttributes"):
+        #    fields += ", stackDetectRowID "
         sql  = "INSERT INTO " + table + " (" + fields + ") "
         sql += "SELECT " + fields + " FROM " + mainTable
Index: /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6
===================================================================
--- /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6	(revision 37916)
+++ /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6	(revision 37917)
@@ -49,8 +49,4 @@
 gc6flxR9Std     Jy              REAL    4       -999    estimated standard deviation in c1flxR9
 gc6flxR9Fill    dimensionless   REAL    4       -999    estimated filling factor at R9
-gc6flxR10       Jy              REAL    4       -999    Flux inside r = 10
-gc6flxR10Err    Jy              REAL    4       -999    estimated error is c1flxR10
-gc6flxR10Std    Jy              REAL    4       -999    estimated standard deviation in c1flxR10
-gc6flxR10Fill   dimensionless   REAL    4       -999    estimated filling factor at R10
 
 
Index: /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6.txt
===================================================================
--- /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6.txt	(revision 37916)
+++ /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6.txt	(revision 37917)
@@ -49,6 +49,3 @@
 gc6flxR9Std      - cmf : APER_FLUX_STDEV_9 : ** badly defined in cmf
 gc6flxR9Fill     + cmf : APER_FILL_9      
-gc6flxR10        - cmf : APER_FLUX_10	     ** does not exist in cmf
-gc6flxR10Err     - cmf : APER_FLUX_ERR_10    ** does not exist in cmf
-gc6flxR10Std     - cmf : APER_FLUX_STDEV_10  ** does not exist in cmf
-gc6flxR10Fill    - cmf : APER_FILL_10        ** does not exist in cmf
+
Index: /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8
===================================================================
--- /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8	(revision 37916)
+++ /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8	(revision 37917)
@@ -49,8 +49,4 @@
 gc8flxR9Std     Jy              REAL    4       -999    estimated standard deviation in c2flxR9
 gc8flxR9Fill    dimensionless   REAL    4       -999    estimated filling factor at R9
-gc8flxR10       Jy              REAL    4       -999    Flux inside r = 10
-gc8flxR10Err    Jy              REAL    4       -999    estimated error is c2flxR10
-gc8flxR10Std    Jy              REAL    4       -999    estimated standard deviation in c2flxR10
-gc8flxR10Fill   dimensionless   REAL    4       -999    estimated filling factor at R10
 
 -- repeat for other filters with appropriate leading prefex.
Index: /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8.txt
===================================================================
--- /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8.txt	(revision 37916)
+++ /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8.txt	(revision 37917)
@@ -49,6 +49,3 @@
 gc8flxR9Std      - cmf : APER_FLUX_STDEV_9 : ** badly defined in cmf
 gc8flxR9Fill     + cmf : APER_FILL_9      
-gc8flxR10        - cmf : APER_FLUX_10	     ** does not exist in cmf
-gc8flxR10Err     - cmf : APER_FLUX_ERR_10    ** does not exist in cmf
-gc8flxR10Std     - cmf : APER_FLUX_STDEV_10  ** does not exist in cmf
-gc8flxR10Fill    - cmf : APER_FILL_10        ** does not exist in cmf
+
Index: /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc
===================================================================
--- /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc	(revision 37916)
+++ /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc	(revision 37917)
@@ -49,6 +49,2 @@
 gflxR9Std       Jy              REAL    4       -999    estimated standard deviation in flxR9
 gflxR9Fill      dimensionless   REAL    4       -999    estimated filling factor at R9
-gflxR10         Jy              REAL    4       -999    Flux inside r = 10
-gflxR10Err      Jy              REAL    4       -999    estimated error is flxR10
-gflxR10Std      Jy              REAL    4       -999    estimated standard deviation in flxR10
-gflxR10Fill     dimensionless   REAL    4       -999    estimated filling factor at R10
Index: /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc.txt
===================================================================
--- /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc.txt	(revision 37916)
+++ /trunk/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc.txt	(revision 37917)
@@ -49,6 +49,3 @@
 gflxR9Std        - cmf : APER_FLUX_STDEV_9 : ** badly defined in cmf
 gflxR9Fill       + cmf : APER_FILL_9      
-gflxR10          - cmf : APER_FLUX_10	     ** does not exist in cmf
-gflxR10Err       - cmf : APER_FLUX_ERR_10    ** does not exist in cmf
-gflxR10Std       - cmf : APER_FLUX_STDEV_10  ** does not exist in cmf
-gflxR10Fill      - cmf : APER_FILL_10        ** does not exist in cmf
+
