06f2c99883ae9eba0185f49ef56fa33f48c33040 hiram Tue Sep 17 15:07:11 2019 -0700 verify fileName column exists before asking for it refs #23589 diff --git src/hg/hubApi/list.c src/hg/hubApi/list.c index 65e26ca..706f7b1 100644 --- src/hg/hubApi/list.c +++ src/hg/hubApi/list.c @@ -393,33 +393,36 @@ struct asObject *as = bigBedAsOrDefault(bbi); struct sqlFieldType *fiList = sqlFieldTypesFromAs(as); bigColumnTypes(jw, fiList, as); apiFinishOutput(0, NULL, jw); } /* static void hubSchemaJsonOutput(FILE *f, char *hubUrl, * char *genome, char *track) */ static char *bigDataUrlFromTable(struct sqlConnection *conn, char *table) /* perhaps there is a bigDataUrl in a database table */ { char *bigDataUrl = NULL; char query[4096]; char quickReturn[2048]; +if (sqlColumnExists(conn, table, "fileName")) + { sqlSafef(query, sizeof(query), "select fileName from %s", table); if (sqlQuickQuery(conn, query, quickReturn, sizeof(quickReturn))) bigDataUrl = hReplaceGbdb(cloneString(quickReturn)); + } return bigDataUrl; } static void schemaJsonOutput(FILE *f, char *db, char *track) /* for given db and track, output the schema for the associated table */ { struct sqlConnection *conn = hAllocConnMaybe(db); if (NULL == conn) apiErrAbort(err400, err400Msg, "can not find 'genome=%s' for endpoint '/list/schema", db); struct trackDb *tdb = obtainTdb(NULL, db); struct trackDb *thisTrack = findTrackDb(track, tdb); if (NULL == thisTrack) /* OK to work with tables without trackDb definitions */ {