Index: trunk/ippdb/src/ippdb.c
===================================================================
--- trunk/ippdb/src/ippdb.c	(revision 8283)
+++ trunk/ippdb/src/ippdb.c	(revision 8306)
@@ -481,4 +481,15 @@
 }
 
+bool weatherInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!weatherInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 weatherRow *weatherPopObject(psDB *dbh)
 {
@@ -1029,4 +1040,15 @@
 }
 
+bool skyp_transparencyInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!skyp_transparencyInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 skyp_transparencyRow *skyp_transparencyPopObject(psDB *dbh)
 {
@@ -1611,4 +1633,15 @@
 }
 
+bool skyp_absorptionInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!skyp_absorptionInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 skyp_absorptionRow *skyp_absorptionPopObject(psDB *dbh)
 {
@@ -2166,4 +2199,15 @@
 }
 
+bool skyp_emissionInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!skyp_emissionInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 skyp_emissionRow *skyp_emissionPopObject(psDB *dbh)
 {
@@ -2702,4 +2746,15 @@
 }
 
+bool dimmInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!dimmInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 dimmRow *dimmPopObject(psDB *dbh)
 {
@@ -3232,4 +3287,15 @@
 }
 
+bool skyp_irInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!skyp_irInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 skyp_irRow *skyp_irPopObject(psDB *dbh)
 {
@@ -3716,4 +3782,15 @@
 }
 
+bool domeInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!domeInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 domeRow *domePopObject(psDB *dbh)
 {
@@ -4194,4 +4271,15 @@
 }
 
+bool telescopeInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!telescopeInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 telescopeRow *telescopePopObject(psDB *dbh)
 {
@@ -4688,4 +4776,15 @@
 }
 
+bool summitExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!summitExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 summitExpRow *summitExpPopObject(psDB *dbh)
 {
@@ -5181,4 +5280,15 @@
 }
 
+bool pzPendingExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!pzPendingExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 pzPendingExpRow *pzPendingExpPopObject(psDB *dbh)
 {
@@ -5692,4 +5802,15 @@
 }
 
+bool pzPendingImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!pzPendingImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 pzPendingImfileRow *pzPendingImfilePopObject(psDB *dbh)
 {
@@ -6197,4 +6318,15 @@
 }
 
+bool newExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!newExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 newExpRow *newExpPopObject(psDB *dbh)
 {
@@ -6671,4 +6803,15 @@
 {
     return newImfileInsert(dbh, object->exp_id, object->class, object->class_id, object->uri);
+}
+
+bool newImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!newImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
 }
 
@@ -7357,4 +7500,15 @@
 {
     return rawDetrendExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang);
+}
+
+bool rawDetrendExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!rawDetrendExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
 }
 
@@ -8201,4 +8355,15 @@
 }
 
+bool rawScienceExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!rawScienceExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 rawScienceExpRow *rawScienceExpPopObject(psDB *dbh)
 {
@@ -9026,4 +9191,15 @@
 }
 
+bool rawImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!rawImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 rawImfileRow *rawImfilePopObject(psDB *dbh)
 {
@@ -9615,4 +9791,15 @@
 }
 
+bool p1PendingExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!p1PendingExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 p1PendingExpRow *p1PendingExpPopObject(psDB *dbh)
 {
@@ -10065,4 +10252,15 @@
 }
 
+bool p2PendingExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!p2PendingExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 p2PendingExpRow *p2PendingExpPopObject(psDB *dbh)
 {
@@ -10563,4 +10761,15 @@
 }
 
+bool p2PendingImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!p2PendingImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 p2PendingImfileRow *p2PendingImfilePopObject(psDB *dbh)
 {
@@ -11049,4 +11258,15 @@
 }
 
+bool p2DoneExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!p2DoneExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 p2DoneExpRow *p2DoneExpPopObject(psDB *dbh)
 {
@@ -11547,4 +11767,15 @@
 }
 
+bool p2DoneImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!p2DoneImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 p2DoneImfileRow *p2DoneImfilePopObject(psDB *dbh)
 {
@@ -12033,4 +12264,15 @@
 }
 
+bool p3PendingExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!p3PendingExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 p3PendingExpRow *p3PendingExpPopObject(psDB *dbh)
 {
@@ -12460,4 +12702,15 @@
 }
 
+bool detRunInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detRunInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detRunRow *detRunPopObject(psDB *dbh)
 {
@@ -12914,4 +13167,15 @@
 }
 
+bool detInputExpInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detInputExpInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detInputExpRow *detInputExpPopObject(psDB *dbh)
 {
@@ -13407,4 +13671,15 @@
 }
 
+bool detProcessedImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detProcessedImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detProcessedImfileRow *detProcessedImfilePopObject(psDB *dbh)
 {
@@ -13899,4 +14174,15 @@
 }
 
+bool detStackedImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detStackedImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detStackedImfileRow *detStackedImfilePopObject(psDB *dbh)
 {
@@ -14391,4 +14677,15 @@
 }
 
+bool detNormalizedImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detNormalizedImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detNormalizedImfileRow *detNormalizedImfilePopObject(psDB *dbh)
 {
@@ -14847,4 +15144,15 @@
 }
 
+bool detMasterFrameInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detMasterFrameInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detMasterFrameRow *detMasterFramePopObject(psDB *dbh)
 {
@@ -15298,4 +15606,15 @@
 }
 
+bool detMasterImfileInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detMasterImfileInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detMasterImfileRow *detMasterImfilePopObject(psDB *dbh)
 {
@@ -15832,4 +16151,15 @@
 }
 
+bool detResidImfileAnalysisInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detResidImfileAnalysisInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detResidImfileAnalysisRow *detResidImfileAnalysisPopObject(psDB *dbh)
 {
@@ -16376,4 +16706,15 @@
 }
 
+bool detResidExpAnalysisInsertObjects(psDB *dbh, psArray *objects)
+{
+    for (long i = 0; i < psArrayLength(objects); i++) {
+        if (!detResidExpAnalysisInsertObject(dbh, objects->data[i])) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 detResidExpAnalysisRow *detResidExpAnalysisPopObject(psDB *dbh)
 {
