Index: trunk/ippToPsps/jython/ipptopspsdb.py
===================================================================
--- trunk/ippToPsps/jython/ipptopspsdb.py	(revision 32192)
+++ trunk/ippToPsps/jython/ipptopspsdb.py	(revision 32193)
@@ -66,6 +66,6 @@
                AND batch_type = '" + batchType + "' \
                AND dvo_db = '" + dvoGpc1Label + "' \
-               AND merged \
-               AND !deleted"
+               AND merged = 1\
+               AND deleted = 0"
 
         ids = []
@@ -84,4 +84,30 @@
 
     '''
+    Returns a list of processed batch IDs that are not loaded to the datastore
+    '''
+    def getProcessedButFailedDatastoreBatchIDs(self, epoch, dvoGpc1Label):
+
+        sql = "SELECT DISTINCT batch_id \
+               FROM batch \
+               WHERE timestamp > '" + epoch + "' \
+               AND dvo_db = '" + dvoGpc1Label + "' \
+               AND processed = 1\
+               AND loaded_to_datastore = -1"
+
+        ids = []
+        try:
+            rs = self.executeQuery(sql)
+            while (rs.next()):
+                ids.append(rs.getInt(1))
+        except:
+            self.logger.exception("Can't query for processed batch ids not loaded to datastore ipptopsps Db")
+
+        rs.close()
+
+        self.logger.debug("Found %d processed but-not-on-datastore items" % len(ids))
+
+        return ids
+
+    '''
     Returns a list of processed batch IDs that are not yet merged for this epoch and dvo label
     '''
@@ -92,6 +118,6 @@
                WHERE timestamp > '" + epoch + "' \
                AND dvo_db = '" + dvoGpc1Label + "' \
-               AND loaded_to_datastore \
-               AND !merged"
+               AND loaded_to_datastore = 1 \
+               AND merged = 0 OR merged = -1"
 
         ids = []
@@ -161,5 +187,5 @@
                FROM batch \
                WHERE batch_type = '" + batchType + "' \
-               AND loaded_to_datastore \
+               AND loaded_to_datastore = 1 \
                AND timestamp > '" + epoch + "' \
                AND dvo_db = '" + dvoGpc1Label + "' \
@@ -299,6 +325,6 @@
                WHERE stage_id = " + str(stage_id) + " \
                AND batch_type = '" + batchType + "' \
-               AND processed \
-               AND loaded_to_datastore"
+               AND processed = 1 \
+               AND loaded_to_datastore = 1"
 
         try:
