Index: trunk/ippToPsps/jython/diffbatch.py
===================================================================
--- trunk/ippToPsps/jython/diffbatch.py	(revision 39164)
+++ trunk/ippToPsps/jython/diffbatch.py	(revision 39165)
@@ -141,5 +141,5 @@
 
            # look up the path base once
-           pathBase = gpc1Db.getDiffStagePathBase(skychunk.dvoLabel, int(diffSkyFileID))
+           pathBase = gpc1Db.getDiffStagePathBase(int(diffSkyFileID))
 
            # select the two (possible) cmf files (.cmf and .inv.cmf)
Index: trunk/ippToPsps/jython/gpc1db.py
===================================================================
--- trunk/ippToPsps/jython/gpc1db.py	(revision 39164)
+++ trunk/ippToPsps/jython/gpc1db.py	(revision 39165)
@@ -121,6 +121,5 @@
                    JOIN mergedvodbProcessed using (merge_id) \
                    JOIN diffInputSkyfile \
-                   ON (diff_id = stage_id AND diff_skyfile_id = stage_extra1 \
-                   AND stage = 'diff') \
+                   ON (diff_id = stage_id AND diff_skyfile_id = stage_extra1 AND stage = 'diff') \
                    JOIN skycell using (skycell_id, tess_id) \
                    JOIN warpRun on (warp1 = warp_id \
@@ -308,6 +307,5 @@
                    JOIN mergedvodbProcessed using (merge_id) \
                    JOIN diffInputSkyfile \
-                   ON (diff_id = stage_id AND diff_skyfile_id = stage_extra1 \
-                   AND stage = 'diff') \
+                   ON (diff_id = stage_id AND diff_skyfile_id = stage_extra1 AND stage = 'diff') \
                    JOIN skycell using (skycell_id, tess_id) \
                    JOIN warpRun on (warp1 = warp_id \
@@ -513,12 +511,31 @@
     get diff stage cmf name
     '''
-    def getDiffStagePathBase(self, dvoDb, diffSkyfileID):
+    def getDiffStagePathBase(self, diffSkyfileID):
+        sql = "SELECT DISTINCT diffSkyfile.path_base \
+               FROM diffInputSkyfile \
+               JOIN diffSkyfile using (diff_id, skycell_id) \
+               WHERE diff_skyfile_id = " + str(diffSkyfileID)
+
+        rs = self.executeQuery(sql)
+
+        if not rs.first():
+            self.logger.errorPair("missing cmf entry diff_skyfile_id:", str(diff_skyfile_id))
+            # self.logger.errorPair("no diff cmfs found for diff_skyfile_id = %d" %diff_skyfile_id)
+            return None
+
+        pathBase = rs.getString(1)
+        return pathBase
+
+    '''
+    get diff stage cmf name
+    XXX EAM 20151119 : this function does too much work: you have a diffSkyfileID, that matches to a unique path_base
+    '''
+    def getDiffStagePathBaseOldVersion(self, dvoDb, diffSkyfileID):
         print "got here, diffstagecmf"
         sql = "SELECT DISTINCT diffSkyfile.path_base \
                FROM mergedvodbRun join minidvodbRun using (minidvodb_id) \
                JOIN addRun using (minidvodb_name) \
-               JOIN diffInputSkyfile on (diff_skyfile_id = stage_extra1 \
-               AND diff_id = stage_id AND stage = 'diff') \
-               JOIN diffSkyfile using (diff_id, skycell_id, diff_skyfile_id) \
+               JOIN diffInputSkyfile on (diff_skyfile_id = stage_extra1 AND diff_id = stage_id AND stage = 'diff') \
+               JOIN diffSkyfile using (diff_id, skycell_id) \
                WHERE diff_skyfile_id = " + str(diffSkyfileID) + " \
                AND minidvodbRun.state = 'merged' \
@@ -561,4 +578,5 @@
     '''
     get diff stage cmf name
+    XXX EAM 20151119 This function is broken AND it does too much work
     '''
     def getDiffStageCmf(self, dvoDb, diffSkyfileID):
Index: trunk/ippToPsps/test/fulltest.sh
===================================================================
--- trunk/ippToPsps/test/fulltest.sh	(revision 39164)
+++ trunk/ippToPsps/test/fulltest.sh	(revision 39165)
@@ -561,4 +561,5 @@
 
   rm -rf $OUTDIR/FO
+  rm -rf $OUTDIR/FG
 
   ippjython loader.py $options $forcedobjqueuename once -simtest < /dev/null
Index: trunk/ippToPsps/test/gpc1schema.sql
===================================================================
--- trunk/ippToPsps/test/gpc1schema.sql	(revision 39164)
+++ trunk/ippToPsps/test/gpc1schema.sql	(revision 39165)
@@ -21,5 +21,5 @@
   CREATE TABLE diffRun             ( diff_id INT, tess_id CHAR(64), state CHAR(16), diff_mode INT, software_ver CHAR(16) );
   CREATE TABLE diffInputSkyfile    ( diff_id INT, warp1 INT, stack2 INT, diff_skyfile_id INT, tess_id CHAR(64), skycell_id CHAR(64) );
-  CREATE TABLE diffSkyfile         ( diff_id INT, diff_skyfile_id INT, tess_id CHAR(64), skycell_id CHAR(64), path_base CHAR(255) );
+  CREATE TABLE diffSkyfile         ( diff_id INT, skycell_id CHAR(64), path_base CHAR(255) );
 
   CREATE TABLE addRun              ( add_id INT, stage CHAR(64), stage_extra1 INT, state CHAR(64), stage_id INT, minidvodb_name CHAR(64) );
Index: trunk/ippToPsps/test/mkgpc1data.dvo
===================================================================
--- trunk/ippToPsps/test/mkgpc1data.dvo	(revision 39164)
+++ trunk/ippToPsps/test/mkgpc1data.dvo	(revision 39165)
@@ -654,5 +654,5 @@
   dbinsert diffRun (diff_id, tess_id, state, diff_mode, software_ver) values ($difID, $TESS_ID, "full", 2, "38000M")
   dbinsert diffInputSkyfile (diff_id, warp1, stack2, diff_skyfile_id, tess_id, skycell_id) values ($difID, $wrpID, $stkID, $diffSkyfileID, $TESS_ID,  $SKYCELL )
-  dbinsert diffSkyfile (diff_id, diff_skyfile_id, tess_id, skycell_id, path_base) values ($difID, $diffSkyfileID, $TESS_ID, $SKYCELL, "$filename")
+  dbinsert diffSkyfile (diff_id, skycell_id, path_base) values ($difID, $SKYCELL, "$filename")
 end
 
