Index: /trunk/ippToPsps/jython/ipptopspsdb.py
===================================================================
--- /trunk/ippToPsps/jython/ipptopspsdb.py	(revision 32121)
+++ /trunk/ippToPsps/jython/ipptopspsdb.py	(revision 32122)
@@ -57,4 +57,30 @@
 
     '''
+    Returns a list of processed batch IDs that are merged but not yet deleted
+    '''
+    def getMergedButNotDeletedBatchIDs(self, epoch, dvoGpc1Label):
+
+        sql = "SELECT DISTINCT batch_id \
+               FROM batch \
+               WHERE timestamp > '" + epoch + "' \
+               AND dvo_db = '" + dvoGpc1Label + "' \
+               AND merged \
+               AND !deleted"
+
+        ids = []
+        try:
+            rs = self.executeQuery(sql)
+            while (rs.next()):
+                ids.append(rs.getInt(1))
+        except:
+            self.logger.exception("Can't query for merged batch ids in ipptopsps Db")
+
+        rs.close()
+
+        self.logger.debug("Found %d merged but un-deleted items" % len(ids))
+
+        return ids
+
+    '''
     Returns a list of processed batch IDs that are not yet merged for this epoch and dvo label
     '''
@@ -221,13 +247,32 @@
 
     '''
+    Updates a batch-table column
+    '''
+    def updateColumn(self, batchID, column, value):
+
+        sql = "UPDATE batch \
+               SET " + column + " = " + str(value) + " \
+               WHERE batch_id = " + str(batchID)
+
+        self.execute(sql)
+
+
+    '''
     Updates batch processed field 
     '''
     def updateProcessed(self, batchID, processed):
-
-        sql = "UPDATE batch \
-               SET processed = " + str(processed) + " \
-               WHERE batch_id = " + str(batchID)
-
-        self.execute(sql)
+        self.updateColumn(batchID, "processed", processed)
+
+    '''
+    Updates batch deleted field 
+    '''
+    def updateDeleted(self, batchID, deleted):
+        self.updateColumn(batchID, "deleted", deleted)
+
+    '''
+    Updates batch loaded_to_datastore field 
+    '''
+    def updateLoadedToDatastore(self, batchID, loadedToDatastore):
+        self.updateColumn(batchID, "loaded_to_datastore", loadedToDatastore)
 
     '''
@@ -240,15 +285,4 @@
                merge_worthy = " + str(odmStatus['MERGEWORTHY']) + ", \
                merged = " + str(odmStatus['MERGED']) + " \
-               WHERE batch_id = " + str(batchID)
-
-        self.execute(sql)
-
-    '''
-    Updates batch loaded_to_datastore field 
-    '''
-    def updateLoadedToDatastore(self, batchID, loadedToDatastore):
-
-        sql = "UPDATE batch \
-               SET loaded_to_datastore = " + str(loadedToDatastore) + " \
                WHERE batch_id = " + str(batchID)
 
