Index: trunk/ippdb/src/ippdb.c
===================================================================
--- trunk/ippdb/src/ippdb.c	(revision 12061)
+++ trunk/ippdb/src/ippdb.c	(revision 12130)
@@ -4950,5 +4950,5 @@
 static void guidePendingExpRowFree(guidePendingExpRow *object);
 
-guidePendingExpRow *guidePendingExpRowAlloc(const char *exp_tag, psS32 guide_version, const char *recipe)
+guidePendingExpRow *guidePendingExpRowAlloc(psS64 guide_id, const char *exp_tag, const char *recipe)
 {
     guidePendingExpRow *_object;
@@ -4957,6 +4957,6 @@
     psMemSetDeallocator(_object, (psFreeFunc)guidePendingExpRowFree);
 
+    _object->guide_id = guide_id;
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->guide_version = guide_version;
     _object->recipe = psStringCopy(recipe);
 
@@ -4973,11 +4973,11 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Key", "64")) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5001,14 +5001,14 @@
 }
 
-bool guidePendingExpInsert(psDB * dbh, const char *exp_tag, psS32 guide_version, const char *recipe)
+bool guidePendingExpInsert(psDB * dbh, psS64 guide_id, const char *exp_tag, const char *recipe)
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5042,5 +5042,5 @@
 bool guidePendingExpInsertObject(psDB *dbh, guidePendingExpRow *object)
 {
-    return guidePendingExpInsert(dbh, object->exp_tag, object->guide_version, object->recipe);
+    return guidePendingExpInsert(dbh, object->guide_id, object->exp_tag, object->recipe);
 }
 
@@ -5115,4 +5115,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, object->guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -5120,9 +5125,4 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
-        psFree(md);
-        return false;
-    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
@@ -5139,4 +5139,9 @@
 
 bool status = false;
+    psS64 guide_id = psMetadataLookupS64(&status, md, "guide_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_id");
+        return false;
+    }
     char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
     if (!status) {
@@ -5144,9 +5149,4 @@
         return false;
     }
-    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
-        return false;
-    }
     char* recipe = psMetadataLookupPtr(&status, md, "recipe");
     if (!status) {
@@ -5155,5 +5155,5 @@
     }
 
-    return guidePendingExpRowAlloc(exp_tag, guide_version, recipe);
+    return guidePendingExpRowAlloc(guide_id, exp_tag, recipe);
 }
 psArray *guidePendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -5267,5 +5267,5 @@
 static void chipPendingExpRowFree(chipPendingExpRow *object);
 
-chipPendingExpRow *chipPendingExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
+chipPendingExpRow *chipPendingExpRowAlloc(psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
 {
     chipPendingExpRow *_object;
@@ -5274,7 +5274,7 @@
     psMemSetDeallocator(_object, (psFreeFunc)chipPendingExpRowFree);
 
+    _object->chip_id = chip_id;
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->chip_version = chip_version;
-    _object->guide_version = guide_version;
+    _object->guide_id = guide_id;
     _object->label = psStringCopy(label);
     _object->recipe = psStringCopy(recipe);
@@ -5297,4 +5297,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -5302,11 +5307,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, "Not NULL", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -5345,7 +5345,12 @@
 }
 
-bool chipPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
+bool chipPendingExpInsert(psDB * dbh, psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -5353,11 +5358,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -5406,5 +5406,5 @@
 bool chipPendingExpInsertObject(psDB *dbh, chipPendingExpRow *object)
 {
-    return chipPendingExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->recipe, object->expgroup, object->dvodb);
+    return chipPendingExpInsert(dbh, object->chip_id, object->exp_tag, object->guide_id, object->label, object->recipe, object->expgroup, object->dvodb);
 }
 
@@ -5479,4 +5479,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -5484,11 +5489,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, object->guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -5523,4 +5523,9 @@
 
 bool status = false;
+    psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id");
+        return false;
+    }
     char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
     if (!status) {
@@ -5528,12 +5533,7 @@
         return false;
     }
-    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
-        return false;
-    }
-    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
+    psS64 guide_id = psMetadataLookupS64(&status, md, "guide_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_id");
         return false;
     }
@@ -5559,5 +5559,5 @@
     }
 
-    return chipPendingExpRowAlloc(exp_tag, chip_version, guide_version, label, recipe, expgroup, dvodb);
+    return chipPendingExpRowAlloc(chip_id, exp_tag, guide_id, label, recipe, expgroup, dvodb);
 }
 psArray *chipPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -5671,5 +5671,5 @@
 static void chipPendingImfileRowFree(chipPendingImfileRow *object);
 
-chipPendingImfileRow *chipPendingImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri)
+chipPendingImfileRow *chipPendingImfileRowAlloc(psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *class_id, const char *recipe, const char *uri)
 {
     chipPendingImfileRow *_object;
@@ -5678,7 +5678,7 @@
     psMemSetDeallocator(_object, (psFreeFunc)chipPendingImfileRowFree);
 
+    _object->chip_id = chip_id;
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->chip_version = chip_version;
-    _object->guide_version = guide_version;
+    _object->guide_id = guide_id;
     _object->class_id = psStringCopy(class_id);
     _object->recipe = psStringCopy(recipe);
@@ -5699,4 +5699,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -5704,11 +5709,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, "Not NULL", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -5742,7 +5742,12 @@
 }
 
-bool chipPendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri)
+bool chipPendingImfileInsert(psDB * dbh, psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *class_id, const char *recipe, const char *uri)
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -5750,11 +5755,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -5798,5 +5798,5 @@
 bool chipPendingImfileInsertObject(psDB *dbh, chipPendingImfileRow *object)
 {
-    return chipPendingImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri);
+    return chipPendingImfileInsert(dbh, object->chip_id, object->exp_tag, object->guide_id, object->class_id, object->recipe, object->uri);
 }
 
@@ -5871,4 +5871,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -5876,11 +5881,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, object->guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -5910,4 +5910,9 @@
 
 bool status = false;
+    psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id");
+        return false;
+    }
     char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
     if (!status) {
@@ -5915,12 +5920,7 @@
         return false;
     }
-    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
-        return false;
-    }
-    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
+    psS64 guide_id = psMetadataLookupS64(&status, md, "guide_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_id");
         return false;
     }
@@ -5941,5 +5941,5 @@
     }
 
-    return chipPendingImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri);
+    return chipPendingImfileRowAlloc(chip_id, exp_tag, guide_id, class_id, recipe, uri);
 }
 psArray *chipPendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -6053,5 +6053,5 @@
 static void chipProcessedExpRowFree(chipProcessedExpRow *object);
 
-chipProcessedExpRow *chipProcessedExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb)
+chipProcessedExpRow *chipProcessedExpRowAlloc(psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *label, const char *expgroup, const char *dvodb)
 {
     chipProcessedExpRow *_object;
@@ -6060,7 +6060,7 @@
     psMemSetDeallocator(_object, (psFreeFunc)chipProcessedExpRowFree);
 
+    _object->chip_id = chip_id;
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->chip_version = chip_version;
-    _object->guide_version = guide_version;
+    _object->guide_id = guide_id;
     _object->label = psStringCopy(label);
     _object->expgroup = psStringCopy(expgroup);
@@ -6081,4 +6081,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -6086,11 +6091,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, "Not NULL", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -6124,7 +6124,12 @@
 }
 
-bool chipProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb)
+bool chipProcessedExpInsert(psDB * dbh, psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *label, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -6132,11 +6137,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -6180,5 +6180,5 @@
 bool chipProcessedExpInsertObject(psDB *dbh, chipProcessedExpRow *object)
 {
-    return chipProcessedExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->expgroup, object->dvodb);
+    return chipProcessedExpInsert(dbh, object->chip_id, object->exp_tag, object->guide_id, object->label, object->expgroup, object->dvodb);
 }
 
@@ -6253,4 +6253,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -6258,11 +6263,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, object->guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -6292,4 +6292,9 @@
 
 bool status = false;
+    psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id");
+        return false;
+    }
     char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
     if (!status) {
@@ -6297,12 +6302,7 @@
         return false;
     }
-    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
-        return false;
-    }
-    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
+    psS64 guide_id = psMetadataLookupS64(&status, md, "guide_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_id");
         return false;
     }
@@ -6323,5 +6323,5 @@
     }
 
-    return chipProcessedExpRowAlloc(exp_tag, chip_version, guide_version, label, expgroup, dvodb);
+    return chipProcessedExpRowAlloc(chip_id, exp_tag, guide_id, label, expgroup, dvodb);
 }
 psArray *chipProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -6709,5 +6709,5 @@
 static void chipProcessedImfileRowFree(chipProcessedImfileRow *object);
 
-chipProcessedImfileRow *chipProcessedImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+chipProcessedImfileRow *chipProcessedImfileRowAlloc(psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     chipProcessedImfileRow *_object;
@@ -6716,7 +6716,7 @@
     psMemSetDeallocator(_object, (psFreeFunc)chipProcessedImfileRowFree);
 
+    _object->chip_id = chip_id;
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->chip_version = chip_version;
-    _object->guide_version = guide_version;
+    _object->guide_id = guide_id;
     _object->class_id = psStringCopy(class_id);
     _object->recipe = psStringCopy(recipe);
@@ -6743,4 +6743,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -6748,11 +6753,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, "Not NULL", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -6811,7 +6811,12 @@
 }
 
-bool chipProcessedImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+bool chipProcessedImfileInsert(psDB * dbh, psS64 chip_id, const char *exp_tag, psS64 guide_id, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -6819,11 +6824,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -6892,5 +6892,5 @@
 bool chipProcessedImfileInsertObject(psDB *dbh, chipProcessedImfileRow *object)
 {
-    return chipProcessedImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
+    return chipProcessedImfileInsert(dbh, object->chip_id, object->exp_tag, object->guide_id, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
 }
 
@@ -6965,4 +6965,9 @@
 {
     psMetadata *md = psMetadataAlloc();
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+        psFree(md);
+        return false;
+    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
@@ -6970,11 +6975,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_id", PS_DATA_S64, NULL, object->guide_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_id");
         psFree(md);
         return false;
@@ -7029,4 +7029,9 @@
 
 bool status = false;
+    psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id");
+        return false;
+    }
     char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
     if (!status) {
@@ -7034,12 +7039,7 @@
         return false;
     }
-    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
-        return false;
-    }
-    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
+    psS64 guide_id = psMetadataLookupS64(&status, md, "guide_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_id");
         return false;
     }
@@ -7085,5 +7085,5 @@
     }
 
-    return chipProcessedImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, path_base, fault);
+    return chipProcessedImfileRowAlloc(chip_id, exp_tag, guide_id, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, path_base, fault);
 }
 psArray *chipProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -7197,5 +7197,5 @@
 static void camPendingExpRowFree(camPendingExpRow *object);
 
-camPendingExpRow *camPendingExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb)
+camPendingExpRow *camPendingExpRowAlloc(psS64 cam_id, psS64 chip_id, const char *label, const char *expgroup, const char *dvodb)
 {
     camPendingExpRow *_object;
@@ -7204,7 +7204,6 @@
     psMemSetDeallocator(_object, (psFreeFunc)camPendingExpRowFree);
 
-    _object->exp_tag = psStringCopy(exp_tag);
-    _object->cam_version = cam_version;
-    _object->chip_version = chip_version;
+    _object->cam_id = cam_id;
+    _object->chip_id = chip_id;
     _object->label = psStringCopy(label);
     _object->expgroup = psStringCopy(expgroup);
@@ -7216,5 +7215,4 @@
 static void camPendingExpRowFree(camPendingExpRow *object)
 {
-    psFree(object->exp_tag);
     psFree(object->label);
     psFree(object->expgroup);
@@ -7225,16 +7223,11 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
         psFree(md);
         return false;
@@ -7268,19 +7261,14 @@
 }
 
-bool camPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb)
+bool camPendingExpInsert(psDB * dbh, psS64 cam_id, psS64 chip_id, const char *label, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
         psFree(md);
         return false;
@@ -7324,5 +7312,5 @@
 bool camPendingExpInsertObject(psDB *dbh, camPendingExpRow *object)
 {
-    return camPendingExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->expgroup, object->dvodb);
+    return camPendingExpInsert(dbh, object->cam_id, object->chip_id, object->label, object->expgroup, object->dvodb);
 }
 
@@ -7397,16 +7385,11 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, object->cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
         psFree(md);
         return false;
@@ -7436,17 +7419,12 @@
 
 bool status = false;
-    char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag");
-        return false;
-    }
-    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
-        return false;
-    }
-    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
+    psS64 cam_id = psMetadataLookupS64(&status, md, "cam_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_id");
+        return false;
+    }
+    psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id");
         return false;
     }
@@ -7467,5 +7445,5 @@
     }
 
-    return camPendingExpRowAlloc(exp_tag, cam_version, chip_version, label, expgroup, dvodb);
+    return camPendingExpRowAlloc(cam_id, chip_id, label, expgroup, dvodb);
 }
 psArray *camPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -7579,5 +7557,5 @@
 static void camProcessedExpRowFree(camProcessedExpRow *object);
 
-camProcessedExpRow *camProcessedExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *path_base, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
+camProcessedExpRow *camProcessedExpRowAlloc(psS64 cam_id, psS64 chip_id, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *path_base, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
 {
     camProcessedExpRow *_object;
@@ -7586,7 +7564,6 @@
     psMemSetDeallocator(_object, (psFreeFunc)camProcessedExpRowFree);
 
-    _object->exp_tag = psStringCopy(exp_tag);
-    _object->cam_version = cam_version;
-    _object->chip_version = chip_version;
+    _object->cam_id = cam_id;
+    _object->chip_id = chip_id;
     _object->label = psStringCopy(label);
     _object->uri = psStringCopy(uri);
@@ -7610,5 +7587,4 @@
 static void camProcessedExpRowFree(camProcessedExpRow *object)
 {
-    psFree(object->exp_tag);
     psFree(object->label);
     psFree(object->uri);
@@ -7622,16 +7598,11 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
         psFree(md);
         return false;
@@ -7725,19 +7696,14 @@
 }
 
-bool camProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *path_base, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
+bool camProcessedExpInsert(psDB * dbh, psS64 cam_id, psS64 chip_id, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *path_base, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
         psFree(md);
         return false;
@@ -7841,5 +7807,5 @@
 bool camProcessedExpInsertObject(psDB *dbh, camProcessedExpRow *object)
 {
-    return camProcessedExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->path_base, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);
+    return camProcessedExpInsert(dbh, object->cam_id, object->chip_id, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->path_base, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);
 }
 
@@ -7914,16 +7880,11 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, object->cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
         psFree(md);
         return false;
@@ -8013,17 +7974,12 @@
 
 bool status = false;
-    char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag");
-        return false;
-    }
-    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
-        return false;
-    }
-    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
+    psS64 cam_id = psMetadataLookupS64(&status, md, "cam_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_id");
+        return false;
+    }
+    psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id");
         return false;
     }
@@ -8104,5 +8060,5 @@
     }
 
-    return camProcessedExpRowAlloc(exp_tag, cam_version, chip_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, path_base, zp_mean, zp_stdev, fault, expgroup, dvodb);
+    return camProcessedExpRowAlloc(cam_id, chip_id, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, path_base, zp_mean, zp_stdev, fault, expgroup, dvodb);
 }
 psArray *camProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -8490,5 +8446,5 @@
 static void detRunRowFree(detRunRow *object);
 
-detRunRow *detRunRowAlloc(psS32 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS32 parent)
+detRunRow *detRunRowAlloc(psS64 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS32 parent)
 {
     detRunRow       *_object;
@@ -8549,5 +8505,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -8697,8 +8653,8 @@
 }
 
-bool detRunInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS32 parent)
+bool detRunInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS32 parent)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -8931,5 +8887,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -9075,5 +9031,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -9323,5 +9279,5 @@
 static void detInputExpRowFree(detInputExpRow *object);
 
-detInputExpRow *detInputExpRowAlloc(psS32 det_id, psS32 iteration, const char *exp_tag, bool include)
+detInputExpRow *detInputExpRowAlloc(psS64 det_id, psS32 iteration, const char *exp_tag, bool include)
 {
     detInputExpRow  *_object;
@@ -9346,5 +9302,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -9379,8 +9335,8 @@
 }
 
-bool detInputExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_tag, bool include)
+bool detInputExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *exp_tag, bool include)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -9498,5 +9454,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -9527,5 +9483,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -9660,5 +9616,5 @@
 static void detProcessedImfileRowFree(detProcessedImfileRow *object);
 
-detProcessedImfileRow *detProcessedImfileRowAlloc(psS32 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+detProcessedImfileRow *detProcessedImfileRowAlloc(psS64 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     detProcessedImfileRow *_object;
@@ -9693,5 +9649,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -9756,8 +9712,8 @@
 }
 
-bool detProcessedImfileInsert(psDB * dbh, psS32 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+bool detProcessedImfileInsert(psDB * dbh, psS64 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -9905,5 +9861,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -9964,5 +9920,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -10127,5 +10083,5 @@
 static void detProcessedExpRowFree(detProcessedExpRow *object);
 
-detProcessedExpRow *detProcessedExpRowAlloc(psS32 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+detProcessedExpRow *detProcessedExpRowAlloc(psS64 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     detProcessedExpRow *_object;
@@ -10156,5 +10112,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -10209,8 +10165,8 @@
 }
 
-bool detProcessedExpInsert(psDB * dbh, psS32 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+bool detProcessedExpInsert(psDB * dbh, psS64 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -10348,5 +10304,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -10397,5 +10353,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -10550,5 +10506,5 @@
 static void detStackedImfileRowFree(detStackedImfileRow *object);
 
-detStackedImfileRow *detStackedImfileRowAlloc(psS32 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psS16 fault)
+detStackedImfileRow *detStackedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psS16 fault)
 {
     detStackedImfileRow *_object;
@@ -10580,5 +10536,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -10638,8 +10594,8 @@
 }
 
-bool detStackedImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psS16 fault)
+bool detStackedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -10782,5 +10738,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -10836,5 +10792,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -10994,5 +10950,5 @@
 static void detNormalizedStatImfileRowFree(detNormalizedStatImfileRow *object);
 
-detNormalizedStatImfileRow *detNormalizedStatImfileRowAlloc(psS32 det_id, psS32 iteration, const char *class_id, psF32 norm, psS16 fault)
+detNormalizedStatImfileRow *detNormalizedStatImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, psF32 norm, psS16 fault)
 {
     detNormalizedStatImfileRow *_object;
@@ -11018,5 +10974,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -11056,8 +11012,8 @@
 }
 
-bool detNormalizedStatImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, psF32 norm, psS16 fault)
+bool detNormalizedStatImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, psF32 norm, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -11180,5 +11136,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -11214,5 +11170,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -11352,5 +11308,5 @@
 static void detNormalizedImfileRowFree(detNormalizedImfileRow *object);
 
-detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS32 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     detNormalizedImfileRow *_object;
@@ -11382,5 +11338,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -11440,8 +11396,8 @@
 }
 
-bool detNormalizedImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+bool detNormalizedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -11584,5 +11540,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -11638,5 +11594,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -11796,5 +11752,5 @@
 static void detNormalizedExpRowFree(detNormalizedExpRow *object);
 
-detNormalizedExpRow *detNormalizedExpRowAlloc(psS32 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+detNormalizedExpRow *detNormalizedExpRowAlloc(psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     detNormalizedExpRow *_object;
@@ -11824,5 +11780,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -11877,8 +11833,8 @@
 }
 
-bool detNormalizedExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+bool detNormalizedExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -12016,5 +11972,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -12065,5 +12021,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -12218,5 +12174,5 @@
 static void detResidImfileRowFree(detResidImfileRow *object);
 
-detResidImfileRow *detResidImfileRowAlloc(psS32 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     detResidImfileRow *_object;
@@ -12252,5 +12208,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -12320,8 +12276,8 @@
 }
 
-bool detResidImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -12474,5 +12430,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -12538,5 +12494,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -12706,5 +12662,5 @@
 static void detResidExpRowFree(detResidExpRow *object);
 
-detResidExpRow *detResidExpRowAlloc(psS32 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, bool accept, psS16 fault)
+detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, bool accept, psS16 fault)
 {
     detResidExpRow  *_object;
@@ -12737,5 +12693,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -12800,8 +12756,8 @@
 }
 
-bool detResidExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, bool accept, psS16 fault)
+bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, bool accept, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -12949,5 +12905,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -13008,5 +12964,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -13171,5 +13127,5 @@
 static void detRunSummaryRowFree(detRunSummaryRow *object);
 
-detRunSummaryRow *detRunSummaryRowAlloc(psS32 det_id, psS32 iteration, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault)
+detRunSummaryRow *detRunSummaryRowAlloc(psS64 det_id, psS32 iteration, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault)
 {
     detRunSummaryRow *_object;
@@ -13196,5 +13152,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -13244,8 +13200,8 @@
 }
 
-bool detRunSummaryInsert(psDB * dbh, psS32 det_id, psS32 iteration, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault)
+bool detRunSummaryInsert(psDB * dbh, psS64 det_id, psS32 iteration, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -13378,5 +13334,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
         psFree(md);
@@ -13422,5 +13378,5 @@
 
 bool status = false;
-    psS32 det_id = psMetadataLookupS32(&status, md, "det_id");
+    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
@@ -13570,5 +13526,5 @@
 static void warpRunRowFree(warpRunRow *object);
 
-warpRunRow *warpRunRowAlloc(psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
+warpRunRow *warpRunRowAlloc(psS64 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
 {
     warpRunRow      *_object;
@@ -13599,5 +13555,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -13642,8 +13598,8 @@
 }
 
-bool warpRunInsert(psDB * dbh, psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
+bool warpRunInsert(psDB * dbh, psS64 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -13771,5 +13727,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, object->warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -13810,5 +13766,5 @@
 
 bool status = false;
-    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    psS64 warp_id = psMetadataLookupS64(&status, md, "warp_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
@@ -13953,5 +13909,5 @@
 static void warpInputExpRowFree(warpInputExpRow *object);
 
-warpInputExpRow *warpInputExpRowAlloc(psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced)
+warpInputExpRow *warpInputExpRowAlloc(psS64 warp_id, psS64 cam_id, bool magiced)
 {
     warpInputExpRow *_object;
@@ -13961,6 +13917,5 @@
 
     _object->warp_id = warp_id;
-    _object->exp_tag = psStringCopy(exp_tag);
-    _object->cam_version = cam_version;
+    _object->cam_id = cam_id;
     _object->magiced = magiced;
 
@@ -13970,5 +13925,4 @@
 static void warpInputExpRowFree(warpInputExpRow *object)
 {
-    psFree(object->exp_tag);
 }
 
@@ -13976,16 +13930,11 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
         psFree(md);
         return false;
@@ -14009,19 +13958,14 @@
 }
 
-bool warpInputExpInsert(psDB * dbh, psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced)
+bool warpInputExpInsert(psDB * dbh, psS64 warp_id, psS64 cam_id, bool magiced)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
         psFree(md);
         return false;
@@ -14055,5 +13999,5 @@
 bool warpInputExpInsertObject(psDB *dbh, warpInputExpRow *object)
 {
-    return warpInputExpInsert(dbh, object->warp_id, object->exp_tag, object->cam_version, object->magiced);
+    return warpInputExpInsert(dbh, object->warp_id, object->cam_id, object->magiced);
 }
 
@@ -14128,16 +14072,11 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, object->warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, object->cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
         psFree(md);
         return false;
@@ -14157,17 +14096,12 @@
 
 bool status = false;
-    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    psS64 warp_id = psMetadataLookupS64(&status, md, "warp_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
         return false;
     }
-    char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag");
-        return false;
-    }
-    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
+    psS64 cam_id = psMetadataLookupS64(&status, md, "cam_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_id");
         return false;
     }
@@ -14178,5 +14112,5 @@
     }
 
-    return warpInputExpRowAlloc(warp_id, exp_tag, cam_version, magiced);
+    return warpInputExpRowAlloc(warp_id, cam_id, magiced);
 }
 psArray *warpInputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -14290,5 +14224,5 @@
 static void warpSkyCellMapRowFree(warpSkyCellMapRow *object);
 
-warpSkyCellMapRow *warpSkyCellMapRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id, psS16 fault)
+warpSkyCellMapRow *warpSkyCellMapRowAlloc(psS64 warp_id, const char *skycell_id, const char *tess_id, psS64 cam_id, const char *class_id, psS16 fault)
 {
     warpSkyCellMapRow *_object;
@@ -14300,6 +14234,5 @@
     _object->skycell_id = psStringCopy(skycell_id);
     _object->tess_id = psStringCopy(tess_id);
-    _object->exp_tag = psStringCopy(exp_tag);
-    _object->cam_version = cam_version;
+    _object->cam_id = cam_id;
     _object->class_id = psStringCopy(class_id);
     _object->fault = fault;
@@ -14312,5 +14245,4 @@
     psFree(object->skycell_id);
     psFree(object->tess_id);
-    psFree(object->exp_tag);
     psFree(object->class_id);
 }
@@ -14319,5 +14251,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -14334,11 +14266,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
         psFree(md);
         return false;
@@ -14367,8 +14294,8 @@
 }
 
-bool warpSkyCellMapInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id, psS16 fault)
+bool warpSkyCellMapInsert(psDB * dbh, psS64 warp_id, const char *skycell_id, const char *tess_id, psS64 cam_id, const char *class_id, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -14385,11 +14312,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
         psFree(md);
         return false;
@@ -14428,5 +14350,5 @@
 bool warpSkyCellMapInsertObject(psDB *dbh, warpSkyCellMapRow *object)
 {
-    return warpSkyCellMapInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->exp_tag, object->cam_version, object->class_id, object->fault);
+    return warpSkyCellMapInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->cam_id, object->class_id, object->fault);
 }
 
@@ -14501,5 +14423,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, object->warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -14516,11 +14438,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, object->cam_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id");
         psFree(md);
         return false;
@@ -14545,5 +14462,5 @@
 
 bool status = false;
-    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    psS64 warp_id = psMetadataLookupS64(&status, md, "warp_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
@@ -14560,12 +14477,7 @@
         return false;
     }
-    char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag");
-        return false;
-    }
-    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
+    psS64 cam_id = psMetadataLookupS64(&status, md, "cam_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_id");
         return false;
     }
@@ -14581,5 +14493,5 @@
     }
 
-    return warpSkyCellMapRowAlloc(warp_id, skycell_id, tess_id, exp_tag, cam_version, class_id, fault);
+    return warpSkyCellMapRowAlloc(warp_id, skycell_id, tess_id, cam_id, class_id, fault);
 }
 psArray *warpSkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -14693,5 +14605,5 @@
 static void warpSkyfileRowFree(warpSkyfileRow *object);
 
-warpSkyfileRow *warpSkyfileRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_stdev)
+warpSkyfileRow *warpSkyfileRowAlloc(psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_stdev)
 {
     warpSkyfileRow  *_object;
@@ -14720,5 +14632,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -14763,8 +14675,8 @@
 }
 
-bool warpSkyfileInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_stdev)
+bool warpSkyfileInsert(psDB * dbh, psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_stdev)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -14892,5 +14804,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, object->warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -14931,5 +14843,5 @@
 
 bool status = false;
-    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    psS64 warp_id = psMetadataLookupS64(&status, md, "warp_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
@@ -15074,5 +14986,5 @@
 static void diffRunRowFree(diffRunRow *object);
 
-diffRunRow *diffRunRowAlloc(psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+diffRunRow *diffRunRowAlloc(psS64 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
 {
     diffRunRow      *_object;
@@ -15105,5 +15017,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
@@ -15153,8 +15065,8 @@
 }
 
-bool diffRunInsert(psDB * dbh, psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+bool diffRunInsert(psDB * dbh, psS64 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, NULL, diff_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
@@ -15287,5 +15199,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, NULL, object->diff_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
@@ -15331,5 +15243,5 @@
 
 bool status = false;
-    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
+    psS64 diff_id = psMetadataLookupS64(&status, md, "diff_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
@@ -15479,5 +15391,5 @@
 static void diffInputSkyfileRowFree(diffInputSkyfileRow *object);
 
-diffInputSkyfileRow *diffInputSkyfileRowAlloc(psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
+diffInputSkyfileRow *diffInputSkyfileRowAlloc(psS64 diff_id, psS64 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
 {
     diffInputSkyfileRow *_object;
@@ -15506,10 +15418,10 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -15549,13 +15461,13 @@
 }
 
-bool diffInputSkyfileInsert(psDB * dbh, psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
+bool diffInputSkyfileInsert(psDB * dbh, psS64 diff_id, psS64 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, NULL, diff_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -15678,10 +15590,10 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, NULL, object->diff_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, object->warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -15717,10 +15629,10 @@
 
 bool status = false;
-    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
+    psS64 diff_id = psMetadataLookupS64(&status, md, "diff_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
         return false;
     }
-    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    psS64 warp_id = psMetadataLookupS64(&status, md, "warp_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
@@ -15860,5 +15772,5 @@
 static void diffSkyfileRowFree(diffSkyfileRow *object);
 
-diffSkyfileRow *diffSkyfileRowAlloc(psS32 diff_id, const char *uri, psF64 bg, psF64 bg_stdev)
+diffSkyfileRow *diffSkyfileRowAlloc(psS64 diff_id, const char *uri, psF64 bg, psF64 bg_stdev)
 {
     diffSkyfileRow  *_object;
@@ -15883,5 +15795,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
@@ -15916,8 +15828,8 @@
 }
 
-bool diffSkyfileInsert(psDB * dbh, psS32 diff_id, const char *uri, psF64 bg, psF64 bg_stdev)
+bool diffSkyfileInsert(psDB * dbh, psS64 diff_id, const char *uri, psF64 bg, psF64 bg_stdev)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, NULL, diff_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
@@ -16035,5 +15947,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S64, NULL, object->diff_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
@@ -16064,5 +15976,5 @@
 
 bool status = false;
-    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
+    psS64 diff_id = psMetadataLookupS64(&status, md, "diff_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
@@ -16197,5 +16109,5 @@
 static void stackRunRowFree(stackRunRow *object);
 
-stackRunRow *stackRunRowAlloc(psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+stackRunRow *stackRunRowAlloc(psS64 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
 {
     stackRunRow     *_object;
@@ -16228,5 +16140,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
@@ -16276,8 +16188,8 @@
 }
 
-bool stackRunInsert(psDB * dbh, psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+bool stackRunInsert(psDB * dbh, psS64 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, NULL, stack_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
@@ -16410,5 +16322,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, NULL, object->stack_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
@@ -16454,5 +16366,5 @@
 
 bool status = false;
-    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
+    psS64 stack_id = psMetadataLookupS64(&status, md, "stack_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
@@ -16602,5 +16514,5 @@
 static void stackInputSkyfileRowFree(stackInputSkyfileRow *object);
 
-stackInputSkyfileRow *stackInputSkyfileRowAlloc(psS32 stack_id, psS32 warp_id)
+stackInputSkyfileRow *stackInputSkyfileRowAlloc(psS64 stack_id, psS64 warp_id)
 {
     stackInputSkyfileRow *_object;
@@ -16622,10 +16534,10 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -16645,13 +16557,13 @@
 }
 
-bool stackInputSkyfileInsert(psDB * dbh, psS32 stack_id, psS32 warp_id)
+bool stackInputSkyfileInsert(psDB * dbh, psS64 stack_id, psS64 warp_id)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, NULL, stack_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -16754,10 +16666,10 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, NULL, object->stack_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S64, NULL, object->warp_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
@@ -16773,10 +16685,10 @@
 
 bool status = false;
-    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
+    psS64 stack_id = psMetadataLookupS64(&status, md, "stack_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
         return false;
     }
-    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    psS64 warp_id = psMetadataLookupS64(&status, md, "warp_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
@@ -16896,5 +16808,5 @@
 static void stackSumSkyfileRowFree(stackSumSkyfileRow *object);
 
-stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS32 stack_id, const char *uri, psF64 bg, psF64 bg_stdev)
+stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS64 stack_id, const char *uri, psF64 bg, psF64 bg_stdev)
 {
     stackSumSkyfileRow *_object;
@@ -16919,5 +16831,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, "Primary Key", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
@@ -16952,8 +16864,8 @@
 }
 
-bool stackSumSkyfileInsert(psDB * dbh, psS32 stack_id, const char *uri, psF64 bg, psF64 bg_stdev)
+bool stackSumSkyfileInsert(psDB * dbh, psS64 stack_id, const char *uri, psF64 bg, psF64 bg_stdev)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, NULL, stack_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
@@ -17071,5 +16983,5 @@
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S64, NULL, object->stack_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
@@ -17100,5 +17012,5 @@
 
 bool status = false;
-    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
+    psS64 stack_id = psMetadataLookupS64(&status, md, "stack_id");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
