Index: /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/Makefile
===================================================================
--- /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/Makefile	(revision 34920)
+++ /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/Makefile	(revision 34921)
@@ -29,4 +29,6 @@
 $(SRC)/insert_detections_dvopsps_catalog.$(ARCH).o
 
+# $(SRC)/insert_detections_dvopsps_catalog.$(ARCH).o
+
 $(DVOPSPS): $(INC)/dvopsps.h
 $(BIN)/dvopsps.$(ARCH): $(DVOPSPS)
Index: /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/include/dvopsps.h
===================================================================
--- /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/include/dvopsps.h	(revision 34920)
+++ /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/include/dvopsps.h	(revision 34921)
@@ -5,4 +5,5 @@
 
 # define DVO_MAX_PATH 1024
+# define MAX_BUFFER 0x080000
 
 /* global variables set in parameter file */
Index: /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/insert_detections_dvopsps.c
===================================================================
--- /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/insert_detections_dvopsps.c	(revision 34920)
+++ /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/insert_detections_dvopsps.c	(revision 34921)
@@ -73,4 +73,19 @@
     dvo_catalog_free (&catalog);
   }
+
+  if (0) {
+    char query[256];
+    MYSQL_RES *result;
+
+    sprintf (query, "commit;");
+    if (mysql_query (mysqlReal, query)) {
+      fprintf (stderr, "failed to turn off autocommit\n");
+      fprintf (stderr, "%s\n", mysql_error (mysqlReal));
+      return FALSE;
+    }
+    result = mysql_store_result (mysqlReal);
+    mysql_free_result (result);
+  }
+    
   return (TRUE);
 }      
Index: /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c
===================================================================
--- /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c	(revision 34920)
+++ /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c	(revision 34921)
@@ -1,3 +1,7 @@
 # include "dvopsps.h"
+# define DEBUG 0
+# define SQL_INSERT 1
+// 1 = write data via sql insert values = (), 
+// 0 = write data via load from file
 
 # define MARKTIME(MSG,...) {			\
@@ -24,5 +28,7 @@
 
   insert_detections_mysql_init (&buffer);
+  int Ninsert = 0;
 
+  // NOTE for testing, just do a few objects
   if (!mysql) {
     catalog[0].Naverage = 5;
@@ -40,6 +46,8 @@
       insert_detections_mysql_value (&buffer, &average[i], &measure[m+j]);
 
-      if (buffer.Nalloc > 0x100000) {
+      if (buffer.Nbuffer > MAX_BUFFER) {
 	insert_detections_mysql_commit (&buffer, mysql);
+	if (DEBUG) fprintf (stderr, "inserted %d rows\n", Ninsert);
+	Ninsert = 0;
 	if (0) {
 	  FlushIOBuffer (&buffer);
@@ -51,8 +59,11 @@
       }
 
+      Ninsert ++;
       found ++;
     }
   }
   insert_detections_mysql_commit (&buffer, mysql);
+  if (DEBUG) fprintf (stderr, "inserted %d rows\n", Ninsert);
+  FreeIOBuffer (&buffer);
 
   MARKTIME("-- inserted "OFF_T_FMT" rows in %f sec, skipped %d without IDs\n", found, dtime, missingID);
@@ -66,5 +77,7 @@
   }
 
+# if (SQL_INSERT)
   PrintIOBuffer (buffer, "INSERT INTO dvoDetection (imageID, ippDetectID, detectID, ippObjID, objID, flags, zp, zpErr, airMass, expTime, ra, dec_, raErr, decErr) VALUES \n");
+# endif
 
   return TRUE;
@@ -75,5 +88,9 @@
   // XXX I am changing the def of ippObjID if I use the code below
   PhotCode *code = GetPhotcodebyCode(measure->photcode);
+# if (SQL_INSERT)
   PrintIOBuffer (buffer, "    (%d, %u, %lu, %lu, %lu, %u, %f, %f, %f, %f, %lf, %lf, %f, %f),\n",
+# else
+  PrintIOBuffer (buffer, "    %d %u %lu %lu %lu %u %f %f %f %f %lf %lf %f %f\n",
+# endif
 	  measure->imageID,    // imageID
 	  measure->detID,   // ippDetectID
@@ -96,7 +113,9 @@
 int insert_detections_mysql_commit (IOBuffer *buffer, MYSQL *mysql) {
 
+  MYSQL_RES *result;
+
+# if (SQL_INSERT)  
   // check that the last two chars are ,\n and replace with ;\n
   if (!strcmp(&buffer->buffer[buffer->Nbuffer-2], ",\n")) {
-    fprintf (stderr, "valid sql\n");
     buffer->buffer[buffer->Nbuffer-2] = ';';
   } else {
@@ -104,8 +123,32 @@
     return FALSE;
   }
+# endif
 
   // XXX check return status
   if (mysql) {
-    mysql_query(mysql, buffer->buffer); 
+# if (SQL_INSERT)    
+    int status = mysql_query(mysql, buffer->buffer); 
+# else
+    FILE *f = fopen ("/tmp/dvopsps.dat", "w");
+    if (!f) {
+      fprintf (stderr, "failed to write buffer file\n");
+      return FALSE;
+    }
+    int fd = fileno (f);
+    int Nbytes = write (fd, buffer->buffer, buffer->Nbuffer);
+    if (Nbytes != buffer->Nbuffer) {
+      fprintf (stderr, "error writing data to buffer file\n");
+    }
+    char sql[256];
+    snprintf (sql, 256, "load data infile '/tmp/dvopsps.dat' into table dvoDetection;");
+    int status = mysql_query(mysql, sql); 
+# endif
+    if (status) {
+      fprintf (stderr, "error with insert:\n");
+      fprintf (stderr, "%s\n", mysql_error(mysql));
+      fprintf (stderr, "Nbuffer: %d\n", buffer->Nbuffer);
+    }
+    result = mysql_store_result (mysql);
+    mysql_free_result (result);
   } else {
     fprintf (stderr, "%s\n", buffer->buffer);
Index: /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/mysql_dvopsps.c
===================================================================
--- /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/mysql_dvopsps.c	(revision 34920)
+++ /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/src/mysql_dvopsps.c	(revision 34921)
@@ -1,3 +1,22 @@
 # include "dvopsps.h"
+
+int dump_result (MYSQL *connection) {
+
+  MYSQL_RES *result = mysql_store_result (connection);
+  if (!result) return FALSE;
+  int Nrows = mysql_num_rows(result);
+  int Ncols = mysql_num_fields(result);
+
+  int i, j;
+  for (j = 0; j < Nrows; j++) {
+    MYSQL_ROW row = mysql_fetch_row(result);
+    for (i = 0; i < Ncols; i++) {
+      fprintf (stderr, "%s ", row[i]);
+    }
+    fprintf (stderr, "\n");
+  }
+  mysql_free_result (result);
+  return (TRUE);
+}
 
 // DATABASE_* are supplied on the command line and are global variables in dvopsps.h
@@ -5,5 +24,4 @@
 
   char query[256];
-  MYSQL_RES *result;
 
   mysql_init (mysqlBase);
@@ -16,5 +34,5 @@
   }
     
-  sprintf (query, "set @@interactive_timeout = 30000");
+  sprintf (query, "set @@interactive_timeout = 30000;");
   if (mysql_query (connection, query)) {
     fprintf (stderr, "failed to set interactive timout\n");
@@ -22,8 +40,7 @@
     return NULL;
   }
-  result = mysql_store_result (connection);
-  mysql_free_result (result);
+  dump_result (connection);
     
-  sprintf (query, "set @@wait_timeout = 30000");
+  sprintf (query, "set @@wait_timeout = 30000;");
   if (mysql_query (connection, query)) {
     fprintf (stderr, "failed to set wait timout\n");
@@ -31,6 +48,31 @@
     return NULL;
   }
-  result = mysql_store_result (connection);
-  mysql_free_result (result);
+  dump_result (connection);
+    
+  sprintf (query, "set max_allowed_packet = %d;", 2*MAX_BUFFER);
+  if (mysql_query (connection, query)) {
+    fprintf (stderr, "failed to set max_allowed_packet\n");
+    fprintf (stderr, "%s\n", mysql_error (connection));
+    return NULL;
+  }
+  dump_result (connection);
+    
+  sprintf (query, "show variables like 'max_allowed_packet';");
+  if (mysql_query (connection, query)) {
+    fprintf (stderr, "failed to set max_allowed_packet\n");
+    fprintf (stderr, "%s\n", mysql_error (connection));
+    return NULL;
+  }
+  dump_result (connection);
+    
+  if (0) {
+    sprintf (query, "set autocommit=0;");
+    if (mysql_query (connection, query)) {
+      fprintf (stderr, "failed to turn off autocommit\n");
+      fprintf (stderr, "%s\n", mysql_error (connection));
+      return NULL;
+    }
+    dump_result (connection);
+  }
     
   return connection;
Index: /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/test/dbadmin.sh
===================================================================
--- /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/test/dbadmin.sh	(revision 34920)
+++ /branches/eam_branches/ipp-20121219/Ohana/src/dvopsps/test/dbadmin.sh	(revision 34921)
@@ -77,5 +77,8 @@
   echo "      create a new test db"
   echo ""
-  echo "  dbadmin.sh user (dbhost) (dbname) (dbuser) (password)"
+  echo "  dbadmin.sh delete (dbhost) (dbname) (dbuser)"
+  echo "      delete an existing test db (enter pass 2x)"
+  echo ""
+  echo "  dbadmin.sh user (dbhost) (dbuser) (password)"
   echo "      create a new user and password for the test db"
   echo ""
