Index: trunk/ippTools/src/pzgetimfiles.c
===================================================================
--- trunk/ippTools/src/pzgetimfiles.c	(revision 21402)
+++ trunk/ippTools/src/pzgetimfiles.c	(revision 31038)
@@ -99,7 +99,31 @@
     int status = pclose(output);
 
+    // We have an id value now, let's get it and use it
+    char *id_query = "SELECT summit_id FROM summitExp WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'";
+
+    if (!p_psDBRunQueryF(config->dbh, id_query, filesetid, camera, telescope)) {
+      psError(PS_ERR_UNKNOWN, false, "database error");
+      return false;
+    }
+    
+    psArray *id_output = p_psDBFetchResult(config->dbh);
+    if (!id_output) {
+      psError(PS_ERR_UNKNOWN, false, "database error");
+      return false;
+    }
+    if (psArrayLength(id_output) != 1) {
+      psError(PS_ERR_UNKNOWN, false, "database error: incorrect number of results");
+      return false;
+    }
+
+    psMetadata *id_result = id_output->data[0];
+
+    psS64 summit_id = psMetadataLookupS64(NULL, id_result, "summit_id");
+    psFree(id_output);
+    // End of summit_id block.
+    
     if (status != 0) {
         // mark the summitExp row as faulted
-        if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'", WEXITSTATUS(status), filesetid, camera, telescope)) {
+        if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE summit_id = %ld", WEXITSTATUS(status), summit_id)) {
             psError(PS_ERR_UNKNOWN, false, "database error");
         }
@@ -117,5 +141,5 @@
         // download an "empty" fileset.
         // mark the summitExp row as faulted
-        if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'", 250, filesetid, camera, telescope)) {
+        if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE summit_id = %ld", 250, summit_id)) {
                 psError(PS_ERR_UNKNOWN, false, "database error");
         }
@@ -142,8 +166,6 @@
             "UPDATE summitExp"
             " SET imfiles = %d"
-            " WHERE exp_name = '%s'"
-            " AND camera = '%s'"
-            " AND telescope = '%s'";
-        if (!p_psDBRunQueryF(config->dbh, query, imfiles, filesetid, camera, telescope)) {
+	    " WHERE summit_id = %ld";
+        if (!p_psDBRunQueryF(config->dbh, query, imfiles, summit_id)) {
             // rollback
             if (!psDBRollback(config->dbh)) {
@@ -159,8 +181,6 @@
                 "DELETE FROM pzDownloadExp"
                 " WHERE"
-                "   exp_name = '%s'"
-                "   AND camera = '%s'"
-                "   AND telescope = '%s'";
-            if (!p_psDBRunQueryF(config->dbh, query, filesetid, camera, telescope)) {
+	        " summit_id = %ld";
+            if (!p_psDBRunQueryF(config->dbh, query, summit_id)) {
                 // rollback
                 if (!psDBRollback(config->dbh)) {
@@ -245,4 +265,5 @@
             "INSERT IGNORE INTO summitImfile" 
             "   SELECT"
+	    "       %ld," // summit_id
             "       incoming.exp_name,"
             "       incoming.camera,"
@@ -256,5 +277,5 @@
             "       NULL"       // epoch
             "   FROM incoming";
-        if (!p_psDBRunQuery(config->dbh, query)) {
+        if (!p_psDBRunQueryF(config->dbh, query,summit_id)) {
             // rollback
             if (!psDBRollback(config->dbh)) {
@@ -272,14 +293,10 @@
             " SET imfiles = (SELECT COUNT(*) FROM summitImfile"
             "   WHERE"
-            "       exp_name = '%s'"
-            "       AND camera = '%s'"
-            "       AND telescope = '%s'"
+	    "   summit_id = %ld"
             ")" 
             " WHERE"
-            "   exp_name = '%s'"
-            "   AND camera = '%s'"
-            "   AND telescope = '%s'"
+	    "   summit_id = %ld"
             "   AND imfiles IS NULL";
-        if (!p_psDBRunQueryF(config->dbh, query, filesetid, camera, telescope, filesetid, camera, telescope)) {
+        if (!p_psDBRunQueryF(config->dbh, query, summit_id, summit_id)) {
             // rollback
             if (!psDBRollback(config->dbh)) {
@@ -308,4 +325,5 @@
             "INSERT IGNORE INTO pzDownloadExp" 
             "   SELECT"
+  	    "       %ld,"    // summit_id
             "       incoming.exp_name,"
             "       incoming.camera,"
@@ -319,5 +337,5 @@
             "       incoming.telescope";
 
-        if (!p_psDBRunQuery(config->dbh, query)) {
+        if (!p_psDBRunQueryF(config->dbh, query,summit_id)) {
             // rollback
             if (!psDBRollback(config->dbh)) {
