a4ec09b5bbfbaf7c4f40053b24f42f075a5b6b85
chmalee
  Tue Nov 12 14:23:32 2024 -0800
Lots of changes after meeting, mostly to accomadate hubtools uploads: allow parentDir in upload request, make batch change dropdowns have the right options. TODO: remove type selection all together from UI, make hub name generation not be hardcoded in ui

diff --git src/hg/lib/hubSpace.c src/hg/lib/hubSpace.c
index 74ec8a2..dac6e44 100644
--- src/hg/lib/hubSpace.c
+++ src/hg/lib/hubSpace.c
@@ -51,30 +51,32 @@
 
 void hubSpaceSaveToDb(struct sqlConnection *conn, struct hubSpace *el, char *tableName, int updateSize)
 /* Save hubSpace as a row to the table specified by tableName. 
  * As blob fields may be arbitrary size updateSize specifies the approx size
  * of a string that would contain the entire query. Arrays of native types are
  * converted to comma separated strings and loaded as such, User defined types are
  * inserted as NULL. This function automatically escapes quoted strings for mysql. */
 {
 struct dyString *update = dyStringNew(updateSize);
 sqlDyStringPrintf(update, "insert into %s values ( '%s','%s',%lld,'%s',NULL,'%s','%s','%s','%s','%s')", 
 	tableName,  el->userName,  el->fileName,  el->fileSize,  el->fileType, el->lastModified,  el->db,  el->location,  el->md5sum, el->parentDir);
 fprintf(stderr, "hubSpace row insert:\n\n%s\n\n", update->string);
 fflush(stderr);
 sqlUpdate(conn, update->string);
 dyStringFree(&update);
+fprintf(stderr, "hubSpace update successful\n");
+fflush(stderr);
 }
 
 struct hubSpace *hubSpaceLoad(char **row)
 /* Load a hubSpace from row fetched with select * from hubSpace
  * from database.  Dispose of this with hubSpaceFree(). */
 {
 struct hubSpace *ret;
 
 AllocVar(ret);
 ret->userName = cloneString(row[0]);
 ret->fileName = cloneString(row[1]);
 ret->fileSize = sqlLongLong(row[2]);
 ret->fileType = cloneString(row[3]);
 ret->creationTime = cloneString(row[4]);
 ret->lastModified = cloneString(row[5]);