Index: trunk/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- trunk/ippTools/share/pxadmin_create_tables.sql	(revision 30997)
+++ trunk/ippTools/share/pxadmin_create_tables.sql	(revision 31038)
@@ -14,4 +14,5 @@
 
 CREATE TABLE summitExp (
+    summit_id BIGINT NOT NULL AUTO_INCREMENT,
     exp_name VARCHAR(64),
     camera VARCHAR(64),
@@ -23,9 +24,11 @@
     fault SMALLINT NOT NULL,
     epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-    PRIMARY KEY(exp_name, camera, telescope),
+    PRIMARY KEY(summit_id),
+    KEY(exp_name, camera, telescope),
     KEY(fault)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE summitImfile (
+    summit_id BIGINT,
     exp_name VARCHAR(64),
     camera VARCHAR(64),
@@ -38,10 +41,13 @@
     uri VARCHAR(255),
     epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-    PRIMARY KEY(exp_name, camera, telescope, class, class_id),
+    PRIMARY KEY(summit_id, class, class_id),
+    KEY(exp_name, camera, telescope, class, class_id),
     KEY(file_id),
+    FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id),
     FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE pzDownloadExp (
+    summit_id BIGINT,
     exp_name VARCHAR(64),
     camera VARCHAR(64),
@@ -49,10 +55,13 @@
     state VARCHAR(64),
     epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-    PRIMARY KEY(exp_name, camera, telescope),
+    PRIMARY KEY(summit_id),
+    KEY(exp_name, camera, telescope),
     KEY(state),
+    FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id),
     FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope)
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 CREATE TABLE pzDownloadImfile (
+    summit_id BIGINT,
     exp_name VARCHAR(64),
     camera VARCHAR(64),
@@ -66,6 +75,9 @@
     bytes INT,
     md5sum VARCHAR(32),
-    PRIMARY KEY(exp_name, camera, telescope, class, class_id),
-    KEY(fault),
+    PRIMARY KEY(summit_id, class, class_id),
+    KEY(exp_name, camera, telescope, class, class_id),
+    KEY(fault),
+    FOREIGN KEY(summit_id) REFERENCES pzDownloadExp(summit_id),
+    FOREIGN KEY(summit_id, class, class_id) REFERENCES summitImfile(summit_id, class, class_id),
     FOREIGN KEY (exp_name, camera, telescope) REFERENCES pzDownloadExp(exp_name, camera, telescope),
     FOREIGN KEY(exp_name, camera, telescope, class, class_id) REFERENCES summitImfile(exp_name, camera, telescope, class, class_id)
@@ -74,4 +86,5 @@
 CREATE TABLE newExp (
     exp_id BIGINT AUTO_INCREMENT,
+    summit_id BIGINT,
     tmp_exp_name VARCHAR(64),
     tmp_camera VARCHAR(64),
@@ -88,4 +101,5 @@
     PRIMARY KEY(exp_id),
     KEY(exp_id),
+    KEY(summit_id),
     KEY(tmp_exp_name),
     KEY(tmp_camera),
Index: trunk/ippTools/share/pztool_find_completed_exp.sql
===================================================================
--- trunk/ippTools/share/pztool_find_completed_exp.sql	(revision 30997)
+++ trunk/ippTools/share/pztool_find_completed_exp.sql	(revision 31038)
@@ -1,3 +1,4 @@
 SELECT DISTINCT
+    summit_id,
     exp_name,
     camera,
@@ -13,20 +14,17 @@
     FROM pzDownloadExp
     JOIN summitExp
-        USING(exp_name, camera, telescope)
+        USING(summit_id)
     LEFT JOIN pzDownloadImfile
-        USING(exp_name, camera, telescope)
+        USING(summit_id)
     LEFT JOIN newExp
-        ON pzDownloadExp.exp_name = newExp.tmp_exp_name
-        AND pzDownloadExp.camera = newExp.tmp_camera
-        AND pzDownloadExp.telescope = newExp.tmp_telescope
+        USING(summit_id)
     WHERE
         pzDownloadExp.state = 'run'
+        AND newExp.summit_id IS NULL
         AND newExp.tmp_exp_name IS NULL
         AND newExp.tmp_camera IS NULL
         AND newExp.tmp_telescope IS NULL
     GROUP BY
-        pzDownloadExp.exp_name,
-        pzDownloadExp.camera,
-        pzDownloadExp.telescope
+        pzDownloadExp.summit_id,
     -- it doesn't matter which field in pzDownloadImfile we count as we've
     -- already Download a group by
Index: trunk/ippTools/share/pztool_pendingimfile.sql
===================================================================
--- trunk/ippTools/share/pztool_pendingimfile.sql	(revision 30997)
+++ trunk/ippTools/share/pztool_pendingimfile.sql	(revision 31038)
@@ -6,11 +6,12 @@
     FROM summitImfile
     JOIN pzDownloadExp
-        USING(exp_name, camera, telescope)
+    	USING(summit_id)
     LEFT JOIN pzDownloadImfile
-        USING(exp_name, camera, telescope, class, class_id)
+        USING(summit_id, class, class_id)
     JOIN summitExp
-        USING(exp_name, camera, telescope)
+    	USING(summit_id)
     WHERE 
         pzDownloadExp.state = 'run'
+	AND pzDownloadImfile.summit_id IS NULL
         AND pzDownloadImfile.exp_name IS NULL
         AND pzDownloadImfile.camera IS NULL
Index: trunk/ippTools/share/regtool_checkburntoolimfile.sql
===================================================================
--- trunk/ippTools/share/regtool_checkburntoolimfile.sql	(revision 30997)
+++ trunk/ippTools/share/regtool_checkburntoolimfile.sql	(revision 31038)
@@ -21,7 +21,7 @@
        FROM
        summitExp
-       JOIN summitImfile USING(exp_name)
-       LEFT JOIN pzDownloadExp USING(exp_name)
-       LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name
+       JOIN summitImfile USING(summit_id)
+       LEFT JOIN pzDownloadExp USING(summit_id)
+       LEFT JOIN newExp USING(summit_id)
        LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id)
        LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id
Index: trunk/ippTools/share/regtool_checkstatus.sql
===================================================================
--- trunk/ippTools/share/regtool_checkstatus.sql	(revision 30997)
+++ trunk/ippTools/share/regtool_checkstatus.sql	(revision 31038)
@@ -20,7 +20,7 @@
         (rawImfile.burntool_state IS NOT NULL) AS is_registered
         FROM        summitExp
-        JOIN summitImfile USING(exp_name)
-        LEFT JOIN pzDownloadExp USING(exp_name)
-        LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name
+        JOIN summitImfile USING(summit_id)
+        LEFT JOIN pzDownloadExp USING(summit_id)
+        LEFT JOIN newExp USING(summit_id)
         LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id)
         LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id
Index: trunk/ippTools/share/regtool_pendingburntoolimfile.sql
===================================================================
--- trunk/ippTools/share/regtool_pendingburntoolimfile.sql	(revision 30997)
+++ trunk/ippTools/share/regtool_pendingburntoolimfile.sql	(revision 31038)
@@ -22,7 +22,7 @@
        FROM
        summitExp
-       JOIN summitImfile USING(exp_name)
-       LEFT JOIN pzDownloadExp USING(exp_name)
-       LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name
+       JOIN summitImfile USING(summit_id)
+       LEFT JOIN pzDownloadExp USING(summit_id)
+       LEFT JOIN newExp USING(summit_id)
        LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id)
        LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id
