e58fa7f310af32cf0b4e3c6037be9baf268c1ef8 braney Fri May 8 08:47:46 2026 -0700 Avoid SQL connect to hub assembly when looking up table info in hgTables, refs #37519 diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c index 7901c648c7f..371bceb36e8 100644 --- src/hg/hgTables/mainPage.c +++ src/hg/hgTables/mainPage.c @@ -681,32 +681,38 @@ hPrintf("<TR><TD><DIV ID=\"track-select\">"); selGroup = showGroupField(hgtaGroup, "change", onChangeGroupOrTrack(), conn, hAllowAllTables()); nbSpaces(3); curTrack = showTrackField(selGroup, hgtaTrack, "change", onChangeGroupOrTrack(), FALSE); nbSpaces(3); hPrintf("</DIV></TD></TR>\n"); } /* Print table line. */ { hPrintf("<TR><TD><DIV ID=\"table-select\">"); curTable = showTableField(curTrack, hgtaTable, TRUE); // note that fullTableToTdbHash track hash is missing many tables including knownCanonical so cannot use it. if (isHubTrack(curTable) || (strchr(curTable, '.') == NULL)) /* In same database */ { - hti = getHti(database, curTable, conn); + hti = maybeGetHti(database, curTable, conn); + if (hti != NULL) isPositional = htiIsPositional(hti); + else if (trackHubDatabase(database)) + /* Hub assembly: assume positional when we can't look up table info. */ + isPositional = TRUE; + else + errAbort("Could not find table info for table %s in db %s", curTable, database); } isLongTabix = isLongTabixTable( curTable); isBam = isBamTable(curTable); isHic = isHicTable(curTable); isVcf = isVcfTable(curTable, NULL); isWig = isWiggle(database, curTable); if (isBigWigTable(curTable)) { isPositional = TRUE; isWig = TRUE; } isHalSnake = isHalTable( curTable); isMaf = isMafTable(database, curTrack, curTable); isBedGr = isBedGraph(curTable); isArray = isMicroarray(curTrack, curTable);