374e65b5e68e635c5ee05c6e58cdbd5e56c62e14
Merge parents abe5295 40187ad
kent
  Wed May 18 15:49:58 2011 -0700
Refreshing from Angie's tree.
diff --cc src/hg/lib/mdb.c
index c1b60c8,08e6004..ecbf8b8
--- src/hg/lib/mdb.c
+++ src/hg/lib/mdb.c
@@@ -1114,60 -1114,56 +1114,60 @@@
                  sqlEscapeString(mdbVar->val)); // FIXME Strip quotes
          verbose(2, "Requesting insert of one row:\n\t%s;\n",query);
          if(!testOnly)
              sqlUpdate(conn, query);
          count++;
          }
      }
  sqlReleaseLock(conn, lock);
  return count;
  }
  
  int mdbObjsLoadToDb(struct sqlConnection *conn,char *tableName,struct mdbObj *mdbObjs,boolean testOnly)
  // Adds mdb Objs with minimal error checking
  {
  int count = 0;
 +verboseTime(2, "Start of mdbObjsLoadToDb %s", tableName);
  
  if (tableName == NULL)
      tableName = mdbTableName(conn,TRUE); // defaults to sandbox, if it exists, else MDB_DEFAULT_NAME;
  else if (!sqlTableExists(conn,tableName))
      errAbort("mdbObjsLoadToDb attempting to load non-existent table named '%s'.\n",tableName);
  
  assert(mdbObjs != NULL);  // If this is the case, then be vocal
  
  #define MDB_TEMPORARY_TAB_FILE "temporaryMdb.tab"
  long lastTime = 0;
  
  count = mdbObjPrintToTabFile(mdbObjs,MDB_TEMPORARY_TAB_FILE);
 +verboseTime(2, "past mdbObjPrintToTabFile()", tableName);
  
  // Disable keys in hopes of speeding things up.  No danger since it only disables non-unique keys
  char query[8192];
  safef(query, sizeof(query),"alter table %s disable keys",tableName);
  sqlUpdate(conn, query);
  
  // Quick? load
  sqlLoadTabFile(conn, MDB_TEMPORARY_TAB_FILE, tableName, SQL_TAB_FILE_WARN_ON_ERROR|SQL_TAB_FILE_WARN_ON_WARN);
 +verboseTime(2, "past sqlLoadTabFile()");
  
  // Enabling the keys again
  safef(query, sizeof(query),"alter table %s enable keys",tableName);
  sqlUpdate(conn, query);
 +verboseTime(2, "Past alter table");
  
- unlink(MDB_TEMPORARY_TAB_FILE);
+ //unlink(MDB_TEMPORARY_TAB_FILE);
  
  verbose(0,"%04ldms - Done loading mdb with 'LOAD DATA INFILE' mysql command.\n",(clock1000() - lastTime));
  
  return count;
  }
  
  // ------------------ Querys -------------------
  struct mdbObj *mdbObjQuery(struct sqlConnection *conn,char *table,struct mdbObj *mdbObj)
  // Query the metadata table by obj and optional vars and vals in metaObj struct.  If mdbObj is NULL query all.
  // Returns new mdbObj struct fully populated and sorted in obj,var order.
  {
  //  select obj,var,val where (var= [and val=]) or ([var= and] val=) order by obj,var
      boolean buildHash = TRUE;
  
      if(table == NULL)