Index: /trunk/ippdb/configure.ac
===================================================================
--- /trunk/ippdb/configure.ac	(revision 12060)
+++ /trunk/ippdb/configure.ac	(revision 12061)
@@ -7,5 +7,5 @@
 AC_PREREQ(2.59)
 
-AC_INIT([ippdb], [1.1.12], [pan-starrs.ifa.hawaii.edu])
+AC_INIT([ippdb], [1.1.13], [pan-starrs.ifa.hawaii.edu])
 AC_CONFIG_SRCDIR([ippdb.pc.in])
 
Index: /trunk/ippdb/src/ippdb.c
===================================================================
--- /trunk/ippdb/src/ippdb.c	(revision 12060)
+++ /trunk/ippdb/src/ippdb.c	(revision 12061)
@@ -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 *b1_uri, const char *b2_uri, psS16 fault)
+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 *_object;
@@ -6725,6 +6725,5 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
 
@@ -6738,6 +6737,5 @@
     psFree(object->recipe);
     psFree(object->uri);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
 }
 
@@ -6790,11 +6788,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -6818,5 +6811,5 @@
 }
 
-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 *b1_uri, const char *b2_uri, psS16 fault)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6866,11 +6859,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -6904,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->b1_uri, object->b2_uri, object->fault);
+    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);
 }
 
@@ -7022,11 +7010,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -7091,12 +7074,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -7107,5 +7085,5 @@
     }
 
-    return chipProcessedImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
+    return chipProcessedImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, path_base, fault);
 }
 psArray *chipProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -7601,5 +7579,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 *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
+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 *_object;
@@ -7620,6 +7598,5 @@
     _object->sigma_dec = sigma_dec;
     _object->nastro = nastro;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->zp_mean = zp_mean;
     _object->zp_stdev = zp_stdev;
@@ -7637,6 +7614,5 @@
     psFree(object->uri);
     psFree(object->recipe);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
     psFree(object->expgroup);
     psFree(object->dvodb);
@@ -7706,11 +7682,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -7754,5 +7725,5 @@
 }
 
-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 *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7817,11 +7788,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -7875,5 +7841,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->b1_uri, object->b2_uri, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);
+    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);
 }
 
@@ -8008,11 +7974,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -8112,12 +8073,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -8148,5 +8104,5 @@
     }
 
-    return camProcessedExpRowAlloc(exp_tag, cam_version, chip_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, fault, expgroup, dvodb);
+    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);
 }
 psArray *camProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -9704,5 +9660,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 *b1_uri, const char *b2_uri, psS16 fault)
+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 *_object;
@@ -9719,6 +9675,5 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
 
@@ -9732,6 +9687,5 @@
     psFree(object->uri);
     psFree(object->recipe);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
 }
 
@@ -9779,11 +9733,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -9807,5 +9756,5 @@
 }
 
-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 *b1_uri, const char *b2_uri, psS16 fault)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -9850,11 +9799,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -9888,5 +9832,5 @@
 bool detProcessedImfileInsertObject(psDB *dbh, detProcessedImfileRow *object)
 {
-    return detProcessedImfileInsert(dbh, object->det_id, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
+    return detProcessedImfileInsert(dbh, object->det_id, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
 }
 
@@ -10001,11 +9945,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -10065,12 +10004,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -10081,5 +10015,5 @@
     }
 
-    return detProcessedImfileRowAlloc(det_id, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
+    return detProcessedImfileRowAlloc(det_id, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
 }
 psArray *detProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -10193,5 +10127,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 *b1_uri, const char *b2_uri, psS16 fault)
+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 *_object;
@@ -10206,6 +10140,5 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
 
@@ -10217,6 +10150,5 @@
     psFree(object->exp_tag);
     psFree(object->recipe);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
 }
 
@@ -10254,11 +10186,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -10282,5 +10209,5 @@
 }
 
-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 *b1_uri, const char *b2_uri, psS16 fault)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -10315,11 +10242,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -10353,5 +10275,5 @@
 bool detProcessedExpInsertObject(psDB *dbh, detProcessedExpRow *object)
 {
-    return detProcessedExpInsert(dbh, object->det_id, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
+    return detProcessedExpInsert(dbh, object->det_id, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
 }
 
@@ -10456,11 +10378,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -10510,12 +10427,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -10526,5 +10438,5 @@
     }
 
-    return detProcessedExpRowAlloc(det_id, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
+    return detProcessedExpRowAlloc(det_id, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
 }
 psArray *detProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -11440,5 +11352,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 *b1_uri, const char *b2_uri, psS16 fault)
+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 *_object;
@@ -11454,6 +11366,5 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
 
@@ -11465,6 +11376,5 @@
     psFree(object->class_id);
     psFree(object->uri);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
 }
 
@@ -11507,11 +11417,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -11535,5 +11440,5 @@
 }
 
-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 *b1_uri, const char *b2_uri, psS16 fault)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -11573,11 +11478,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -11611,5 +11511,5 @@
 bool detNormalizedImfileInsertObject(psDB *dbh, detNormalizedImfileRow *object)
 {
-    return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
+    return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
 }
 
@@ -11719,11 +11619,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -11778,12 +11673,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -11794,5 +11684,5 @@
     }
 
-    return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
+    return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, path_base, fault);
 }
 psArray *detNormalizedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -11906,5 +11796,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 *b1_uri, const char *b2_uri, psS16 fault)
+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 *_object;
@@ -11919,6 +11809,5 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
 
@@ -11929,6 +11818,5 @@
 {
     psFree(object->recipe);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
 }
 
@@ -11966,11 +11854,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -11994,5 +11877,5 @@
 }
 
-bool detNormalizedExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -12027,11 +11910,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -12065,5 +11943,5 @@
 bool detNormalizedExpInsertObject(psDB *dbh, detNormalizedExpRow *object)
 {
-    return detNormalizedExpInsert(dbh, object->det_id, object->iteration, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
+    return detNormalizedExpInsert(dbh, object->det_id, object->iteration, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
 }
 
@@ -12168,11 +12046,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -12222,12 +12095,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -12238,5 +12106,5 @@
     }
 
-    return detNormalizedExpRowAlloc(det_id, iteration, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
+    return detNormalizedExpRowAlloc(det_id, iteration, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
 }
 psArray *detNormalizedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -12350,5 +12218,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 *b1_uri, const char *b2_uri, psS16 fault)
+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 *_object;
@@ -12366,6 +12234,5 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
 
@@ -12379,6 +12246,5 @@
     psFree(object->uri);
     psFree(object->recipe);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
 }
 
@@ -12431,11 +12297,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -12459,5 +12320,5 @@
 }
 
-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 *b1_uri, const char *b2_uri, psS16 fault)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -12507,11 +12368,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -12545,5 +12401,5 @@
 bool detResidImfileInsertObject(psDB *dbh, detResidImfileRow *object)
 {
-    return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
+    return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
 }
 
@@ -12663,11 +12519,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -12732,12 +12583,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -12748,5 +12594,5 @@
     }
 
-    return detResidImfileRowAlloc(det_id, iteration, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
+    return detResidImfileRowAlloc(det_id, iteration, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
 }
 psArray *detResidImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -12860,5 +12706,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 *b1_uri, const char *b2_uri, bool accept, psS16 fault)
+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  *_object;
@@ -12874,6 +12720,5 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
-    _object->b1_uri = psStringCopy(b1_uri);
-    _object->b2_uri = psStringCopy(b2_uri);
+    _object->path_base = psStringCopy(path_base);
     _object->accept = accept;
     _object->fault = fault;
@@ -12886,6 +12731,5 @@
     psFree(object->exp_tag);
     psFree(object->recipe);
-    psFree(object->b1_uri);
-    psFree(object->b2_uri);
+    psFree(object->path_base);
 }
 
@@ -12928,11 +12772,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -12961,5 +12800,5 @@
 }
 
-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 *b1_uri, const char *b2_uri, bool accept, psS16 fault)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -12999,11 +12838,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -13042,5 +12876,5 @@
 bool detResidExpInsertObject(psDB *dbh, detResidExpRow *object)
 {
-    return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->accept, object->fault);
+    return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->accept, object->fault);
 }
 
@@ -13150,11 +12984,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
         psFree(md);
         return false;
@@ -13214,12 +13043,7 @@
         return false;
     }
-    char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri");
-        return false;
-    }
-    char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri");
+    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
         return false;
     }
@@ -13235,5 +13059,5 @@
     }
 
-    return detResidExpRowAlloc(det_id, iteration, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, accept, fault);
+    return detResidExpRowAlloc(det_id, iteration, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, path_base, accept, fault);
 }
 psArray *detResidExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -14466,5 +14290,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)
+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 *_object;
@@ -14479,4 +14303,5 @@
     _object->cam_version = cam_version;
     _object->class_id = psStringCopy(class_id);
+    _object->fault = fault;
 
     return _object;
@@ -14524,4 +14349,9 @@
         return false;
     }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
+        psFree(md);
+        return false;
+    }
 
     bool status = psDBCreateTable(dbh, WARPSKYCELLMAP_TABLE_NAME, md);
@@ -14537,5 +14367,5 @@
 }
 
-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)
+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)
 {
     psMetadata *md = psMetadataAlloc();
@@ -14567,4 +14397,9 @@
     if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, fault)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
         psFree(md);
         return false;
@@ -14593,5 +14428,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);
+    return warpSkyCellMapInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->exp_tag, object->cam_version, object->class_id, object->fault);
 }
 
@@ -14696,4 +14531,9 @@
         return false;
     }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
+        psFree(md);
+        return false;
+    }
 
 
@@ -14735,6 +14575,11 @@
         return false;
     }
-
-    return warpSkyCellMapRowAlloc(warp_id, skycell_id, tess_id, exp_tag, cam_version, class_id);
+    psS16 fault = psMetadataLookupS16(&status, md, "fault");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fault");
+        return false;
+    }
+
+    return warpSkyCellMapRowAlloc(warp_id, skycell_id, tess_id, exp_tag, cam_version, class_id, fault);
 }
 psArray *warpSkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
Index: /trunk/ippdb/src/ippdb.h
===================================================================
--- /trunk/ippdb/src/ippdb.h	(revision 12060)
+++ /trunk/ippdb/src/ippdb.h	(revision 12061)
@@ -3548,6 +3548,5 @@
     psF64           bg_stdev;
     psF64           bg_mean_stdev;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     psS16           fault;
 } chipProcessedImfileRow;
@@ -3568,6 +3567,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -3609,6 +3607,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -3989,6 +3986,5 @@
     psF32           sigma_dec;
     psS32           nastro;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     psF32           zp_mean;
     psF32           zp_stdev;
@@ -4016,6 +4012,5 @@
     psF32           sigma_dec,
     psS32           nastro,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psF32           zp_mean,
     psF32           zp_stdev,
@@ -4064,6 +4059,5 @@
     psF32           sigma_dec,
     psS32           nastro,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psF32           zp_mean,
     psF32           zp_stdev,
@@ -4906,6 +4900,5 @@
     psF64           bg_stdev;
     psF64           bg_mean_stdev;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     psS16           fault;
 } detProcessedImfileRow;
@@ -4925,6 +4918,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -4965,6 +4957,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -5129,6 +5120,5 @@
     psF64           bg_stdev;
     psF64           bg_mean_stdev;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     psS16           fault;
 } detProcessedExpRow;
@@ -5146,6 +5136,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -5184,6 +5173,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -5775,6 +5763,5 @@
     psF64           bg_stdev;
     psF64           bg_mean_stdev;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     psS16           fault;
 } detNormalizedImfileRow;
@@ -5793,6 +5780,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -5832,6 +5818,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -5996,6 +5981,5 @@
     psF64           bg_stdev;
     psF64           bg_mean_stdev;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     psS16           fault;
 } detNormalizedExpRow;
@@ -6013,6 +5997,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -6051,6 +6034,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -6218,6 +6200,5 @@
     psF64           bg_stdev;
     psF64           bg_mean_stdev;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     psS16           fault;
 } detResidImfileRow;
@@ -6238,6 +6219,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -6279,6 +6259,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     psS16           fault
 );
@@ -6444,6 +6423,5 @@
     psF64           bg_stdev;
     psF64           bg_mean_stdev;
-    char            *b1_uri;
-    char            *b2_uri;
+    char            *path_base;
     bool            accept;
     psS16           fault;
@@ -6463,6 +6441,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     bool            accept,
     psS16           fault
@@ -6503,6 +6480,5 @@
     psF64           bg_stdev,
     psF64           bg_mean_stdev,
-    const char      *b1_uri,
-    const char      *b2_uri,
+    const char      *path_base,
     bool            accept,
     psS16           fault
@@ -7295,4 +7271,5 @@
     psS32           cam_version;
     char            *class_id;
+    psS16           fault;
 } warpSkyCellMapRow;
 
@@ -7308,5 +7285,6 @@
     const char      *exp_tag,
     psS32           cam_version,
-    const char      *class_id
+    const char      *class_id,
+    psS16           fault
 );
 
@@ -7343,5 +7321,6 @@
     const char      *exp_tag,
     psS32           cam_version,
-    const char      *class_id
+    const char      *class_id,
+    psS16           fault
 );
 
Index: /trunk/ippdb/tests/alloc.c
===================================================================
--- /trunk/ippdb/tests/alloc.c	(revision 12060)
+++ /trunk/ippdb/tests/alloc.c	(revision 12061)
@@ -664,5 +664,5 @@
         chipProcessedImfileRow *object;
 
-        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
+        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
 
         if (!object) {
@@ -706,9 +706,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -762,5 +758,5 @@
         camProcessedExpRow *object;
 
-        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string"    );
+        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16, "a string", "a string"    );
 
         if (!object) {
@@ -816,9 +812,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1013,5 +1005,5 @@
         detProcessedImfileRow *object;
 
-        object = detProcessedImfileRowAlloc(-32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
+        object = detProcessedImfileRowAlloc(-32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
 
         if (!object) {
@@ -1051,9 +1043,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1070,5 +1058,5 @@
         detProcessedExpRow *object;
 
-        object = detProcessedExpRowAlloc(-32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
+        object = detProcessedExpRowAlloc(-32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
 
         if (!object) {
@@ -1100,9 +1088,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1201,5 +1185,5 @@
         detNormalizedImfileRow *object;
 
-        object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
+        object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
 
         if (!object) {
@@ -1235,9 +1219,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1254,5 +1234,5 @@
         detNormalizedExpRow *object;
 
-        object = detNormalizedExpRowAlloc(-32, -32, "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
+        object = detNormalizedExpRowAlloc(-32, -32, "a string", 64.64, 64.64, 64.64, "a string", -16    );
 
         if (!object) {
@@ -1284,9 +1264,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1303,5 +1279,5 @@
         detResidImfileRow *object;
 
-        object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
+        object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
 
         if (!object) {
@@ -1345,9 +1321,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1364,5 +1336,5 @@
         detResidExpRow  *object;
 
-        object = detResidExpRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", true, -16    );
+        object = detResidExpRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16    );
 
         if (!object) {
@@ -1398,9 +1370,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1527,5 +1495,5 @@
         warpSkyCellMapRow *object;
 
-        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string"    );
+        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string", -16    );
 
         if (!object) {
@@ -1554,4 +1522,8 @@
         }
         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fault == -16) {
             psFree(object);
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/insert.c
===================================================================
--- /trunk/ippdb/tests/insert.c	(revision 12060)
+++ /trunk/ippdb/tests/insert.c	(revision 12061)
@@ -253,5 +253,5 @@
         }
 
-        if (!chipProcessedImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
+        if (!chipProcessedImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
             exit(EXIT_FAILURE);
         }
@@ -283,5 +283,5 @@
         }
 
-        if (!camProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string")) {
+        if (!camProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16, "a string", "a string")) {
             exit(EXIT_FAILURE);
         }
@@ -343,20 +343,20 @@
         }
 
-        if (!detProcessedImfileInsert(dbh, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!detProcessedExpInsert(dbh, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
+        if (!detProcessedImfileInsert(dbh, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!detProcessedExpInsert(dbh, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
             exit(EXIT_FAILURE);
         }
@@ -403,50 +403,50 @@
         }
 
-        if (!detNormalizedImfileInsert(dbh, -32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!detNormalizedExpInsert(dbh, -32, -32, "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!detResidImfileInsert(dbh, -32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!detResidExpInsert(dbh, -32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", true, -16)) {
+        if (!detNormalizedImfileInsert(dbh, -32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!detNormalizedExpInsert(dbh, -32, -32, "a string", 64.64, 64.64, 64.64, "a string", -16)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!detResidImfileInsert(dbh, -32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!detResidExpInsert(dbh, -32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16)) {
             exit(EXIT_FAILURE);
         }
@@ -508,5 +508,5 @@
         }
 
-        if (!warpSkyCellMapInsert(dbh, -32, "a string", "a string", "a string", -32, "a string")) {
+        if (!warpSkyCellMapInsert(dbh, -32, "a string", "a string", "a string", -32, "a string", -16)) {
             exit(EXIT_FAILURE);
         }
Index: /trunk/ippdb/tests/insertobject.c
===================================================================
--- /trunk/ippdb/tests/insertobject.c	(revision 12060)
+++ /trunk/ippdb/tests/insertobject.c	(revision 12061)
@@ -366,5 +366,5 @@
         }
 
-        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -410,5 +410,5 @@
         }
 
-        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
+        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16, "a string", "a string");
         if (!object) {
             exit(EXIT_FAILURE);
@@ -498,5 +498,5 @@
         }
 
-        object = detProcessedImfileRowAlloc(-32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detProcessedImfileRowAlloc(-32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -520,5 +520,5 @@
         }
 
-        object = detProcessedExpRowAlloc(-32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detProcessedExpRowAlloc(-32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -586,5 +586,5 @@
         }
 
-        object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -608,5 +608,5 @@
         }
 
-        object = detNormalizedExpRowAlloc(-32, -32, "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detNormalizedExpRowAlloc(-32, -32, "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -630,5 +630,5 @@
         }
 
-        object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -652,5 +652,5 @@
         }
 
-        object = detResidExpRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", true, -16);
+        object = detResidExpRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -740,5 +740,5 @@
         }
 
-        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
+        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/metadatafromobject.c
===================================================================
--- /trunk/ippdb/tests/metadatafromobject.c	(revision 12060)
+++ /trunk/ippdb/tests/metadatafromobject.c	(revision 12061)
@@ -791,5 +791,5 @@
         bool            status;
 
-        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -839,9 +839,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -904,5 +900,5 @@
         bool            status;
 
-        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
+        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16, "a string", "a string");
         if (!object) {
             exit(EXIT_FAILURE);
@@ -964,9 +960,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1186,5 +1178,5 @@
         bool            status;
 
-        object = detProcessedImfileRowAlloc(-32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detProcessedImfileRowAlloc(-32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -1230,9 +1222,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1250,5 +1238,5 @@
         bool            status;
 
-        object = detProcessedExpRowAlloc(-32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detProcessedExpRowAlloc(-32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -1286,9 +1274,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1402,5 +1386,5 @@
         bool            status;
 
-        object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -1442,9 +1426,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1462,5 +1442,5 @@
         bool            status;
 
-        object = detNormalizedExpRowAlloc(-32, -32, "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detNormalizedExpRowAlloc(-32, -32, "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -1498,9 +1478,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1518,5 +1494,5 @@
         bool            status;
 
-        object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -1566,9 +1542,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1586,5 +1558,5 @@
         bool            status;
 
-        object = detResidExpRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", true, -16);
+        object = detResidExpRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -1626,9 +1598,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1779,5 +1747,5 @@
         bool            status;
 
-        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
+        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -1812,4 +1780,7 @@
         }
         if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
             psFree(md);
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/objectfrommetadata.c
===================================================================
--- /trunk/ippdb/tests/objectfrommetadata.c	(revision 12060)
+++ /trunk/ippdb/tests/objectfrommetadata.c	(revision 12061)
@@ -1221,9 +1221,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1277,9 +1273,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1411,9 +1403,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1495,9 +1483,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1863,9 +1847,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1915,9 +1895,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1959,9 +1935,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2003,9 +1975,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2195,9 +2163,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2243,9 +2207,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2287,9 +2247,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2331,9 +2287,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2387,9 +2339,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2443,9 +2391,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2491,9 +2435,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2543,9 +2483,5 @@
             exit(EXIT_FAILURE);
         }
-        if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {
+        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2777,4 +2713,7 @@
             exit(EXIT_FAILURE);
         }
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
 
         object = warpSkyCellMapObjectFromMetadata(md);
@@ -2807,4 +2746,7 @@
         }
         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
             psFree(object);
             exit(EXIT_FAILURE);
