171a5b44a2fa8be1dc747bbd8d620c713edd7027 angie Wed Oct 23 11:02:22 2019 -0700 Now that saved session custom track table names can have a customData db prefix (like db=customTrash and table=customDataNN.t1_...), asObjectFromFields needs to skip past the dot to avoid autoSql parse error. refs #24358. diff --git src/hg/lib/hAnno.c src/hg/lib/hAnno.c index 381d12d..07e9653 100644 --- src/hg/lib/hAnno.c +++ src/hg/lib/hAnno.c @@ -70,30 +70,34 @@ if (!sameString(field->field, asCol->name)) { columnsMatch = FALSE; break; } } if (field != NULL || asCol != NULL) columnsMatch = FALSE; return columnsMatch; } static struct asObject *asObjectFromFields(char *name, struct sqlFieldInfo *fieldList, boolean skipBin) /* Make autoSql text from SQL fields and pass it to asParse. */ { +// If name is db.table, skip the db.: +char *dot = strchr(name, '.'); +if (dot) + name = dot + 1; struct dyString *dy = dyStringCreate("table %s\n" "\"Column names grabbed from mysql\"\n" " (\n", name); struct sqlFieldInfo *field; for (field = fieldList; field != NULL; field = field->next) { if (skipBin && field == fieldList && sameString("bin", field->field)) continue; char *sqlType = field->type; // hg19.wgEncodeOpenChromSynthGm12878Pk.pValue has sql type "float unsigned", // and I'd rather pretend it's just a float than work unsigned floats into autoSql. if (sameString(sqlType, "float unsigned")) sqlType = "float"; char *asType = asTypeNameFromSqlType(sqlType); if (asType == NULL)