Index: trunk/ippToPsps/jython/dvo.py
===================================================================
--- trunk/ippToPsps/jython/dvo.py	(revision 38364)
+++ trunk/ippToPsps/jython/dvo.py	(revision 38365)
@@ -609,10 +609,10 @@
         #This is a terrible hack but I'm tired of it taking a decade to ingest the FW skycells.
 
-        if self.batchType == "ST":
-            dR_border = .4 / / math.cos(math.radians(boxDim['DEC']))
-            dD_border = .4
-        if self.batchType == "FW":
-            dR_border = .4 / / math.cos(math.radians(boxDim['DEC']))
-            dD_border = .4
+        #if self.batchType == "ST":
+        #    dR_border = .4 / math.cos(math.radians(boxDim['DEC']))
+        #    dD_border = .4
+        #if self.batchType == "FW":
+        #    dR_border = .4 / math.cos(math.radians(boxDim['DEC']))
+        #    dD_border = .4
 
 
Index: trunk/ippToPsps/jython/stackbatch.py
===================================================================
--- trunk/ippToPsps/jython/stackbatch.py	(revision 38364)
+++ trunk/ippToPsps/jython/stackbatch.py	(revision 38365)
@@ -324,5 +324,5 @@
             sqlLine = sqlUtility("UPDATE StackObjectThin as a, " + self.scratchDb.dvoDetectionTable + " as b SET")
 
-            sqlLine.group("a."+filter+"ippDetectID",   "b.ippDetectID") # eg, gippDetectID (from dvo.measure.detID)
+#            sqlLine.group("a."+filter+"ippDetectID",   "b.ippDetectID") # eg, gippDetectID (from dvo.measure.detID)
             sqlLine.group("a."+filter+"stackDetectID", "b.detectID")    # eg, gstackDetectID (from dvo.measure.extID)
             sqlLine.group("a."+filter+"stackMetaID",    str(stackID))   # eg, gstackMetaID (from cmf.IMAGEID)
@@ -345,5 +345,5 @@
 
             sqlLine.group("a."+filter+"infoFlag2",     "(b.flags << 13)")
-            sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND b.imageID = " + str(imageID))
+            sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND b.imageID = " + str(imageID) + " and a." + filter + "ippDetectID=b.ippDetectID")
 
             try: self.scratchDb.execute(sql)
@@ -870,5 +870,5 @@
 
         sql = sqlLine.makeEquals("")
-
+        
         try: self.scratchDb.execute(sql)
         except:
@@ -909,5 +909,6 @@
 
         for number in numbers:
-            field = filter + prefix + "flxR" + number
+            pspsNum  = str(int(number) + 2)
+            field = filter + prefix + "flxR" + pspsNum
             sqlLine.group(field,          "b.APER_FLUX_"       + number + " / " + exptime)
             sqlLine.group(field + "Err",  "b.APER_FLUX_ERR_"   + number + " / " + exptime)
@@ -916,5 +917,5 @@
             
         sql = sqlLine.makeEquals("WHERE a." + filter + "ippDetectID = b.IPP_IDET AND  " + psfCondition)
-
+        
         try: self.scratchDb.execute(sql)
         except:
@@ -936,5 +937,6 @@
         sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + self.scratchDb.dvoDetectionTable + " as b SET")
         for number in numbers:
-            field = filter + prefix + "flxR" + number
+            pspsNum  = str(int(number) + 2)
+            field = filter + prefix + "flxR" + pspsNum
             sqlLine.group(field,               field         + " * POW(10, 3.56 - 0.4* b.zp)")
             sqlLine.group(field + "Err",       field + "err" + " * POW(10, 3.56 - 0.4* b.zp)")
@@ -1069,17 +1071,25 @@
 
         # we need a temporary column for each filter to identify empty rows
+        self.scratchDb.addColumn("StackObjectThin", "ippDetectID", "bigint")
         for filter in self.filters:
             self.scratchDb.addColumn("StackObjectThin", filter + "haveData", "tinyint")
-
-        sqlLine = sqlUtility("INSERT INTO StackObjectThin (")
-        
-        sqlLine.group("objID",            "objID")
-        sqlLine.group("ippObjID",         "ippObjID")
-        sqlLine.group("surveyID",         "'" + str(self.surveyID) + "'")
-        sqlLine.group("tessID",           "'" + str(self.tessID) + "'")
-        sqlLine.group("projectionID",     "'" + str(self.projectionID) + "'")
-        sqlLine.group("skyCellID",        "'" + str(self.skycellID) + "'")
-        sqlLine.group("dataRelease",      "'" + str(self.skychunk.dataRelease) + "'")
+            
+
+ #       sqlLine = sqlUtility("INSERT INTO StackObjectThin (")
+ #       
+ #       sqlLine.group("objID",            "objID")
+ #       sqlLine.group("ippObjID",         "ippObjID")
+#        sqlLine.group("ippDetectID", "ippDetectID") # added ippDetectID
+ #       sqlLine.group("surveyID",         "'" + str(self.surveyID) + "'")
+ #       sqlLine.group("tessID",           "'" + str(self.tessID) + "'")
+ #       sqlLine.group("projectionID",     "'" + str(self.projectionID) + "'")
+ #       sqlLine.group("skyCellID",        "'" + str(self.skycellID) + "'")
+ #       sqlLine.group("dataRelease",      "'" + str(self.skychunk.dataRelease) + "'")
    #     sqlLine.group("randomStackObjID", "FLOOR(RAND()*9223372036854775807)")
+
+            
+
+
+
 
         whereClause = " WHERE ("
@@ -1096,5 +1106,7 @@
         whereClause += ")"
 
-        sql = sqlLine.makeRaw(") SELECT DISTINCT ", "FROM " + self.scratchDb.dvoDetectionTable + whereClause)
+        sql = "insert into StackObjectThin (objID, ippDetectID,ippObjID) select distinct objID, ippDetectID, ippObjID from dvoDetectionFull "+whereClause;
+
+  #      sql = sqlLine.makeRaw(") SELECT DISTINCT ", "FROM " + self.scratchDb.dvoDetectionTable + whereClause)
 
         try: self.scratchDb.execute(sql)
@@ -1102,4 +1114,30 @@
             self.logger.errorPair('failed sql',sql)
             raise
+
+
+# ok, now add surveyID, tessID, projectionID, skycellID, dtaRelease
+
+        sql = "update StackObjectThin set surveyID = "+str(self.surveyID) +"\
+              , tessID = '" + str(self.tessID) + "'\
+              , projectionID = '" + str(self.projectionID) + "'\
+              , skycellID = '" + str(self.skycellID) + "'\
+              , dataRelease = '" + str(self.skychunk.dataRelease)  +"'"
+              
+        try: self.scratchDb.execute(sql)
+        except:
+            self.logger.errorPair('failed sql',sql)
+            raise
+
+ # ok, now fill g/r/i/z/yippDetectID using objID and detectID and imge ID
+
+
+        for filter in self.filters:
+            sql = "update StackObjectThin join "+self.scratchDb.dvoDetectionTable +" using (objID, ippDetectID) set "+filter+"ippDetectID = ippDetectID \
+                  where " + self.scratchDb.dvoDetectionTable + ".imageID = " + str(imageID)
+            try: self.scratchDb.execute(sql)
+            except:
+                self.logger.errorPair('failed sql',sql)
+                raise
+        self.scratchDb.dropColumn("StackObjectThin", "ippDetectID")
 
     '''
