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)