036b5fab2f643a3db6064a44eeb9580b00eae0cd
braney
  Sun May 26 10:59:30 2024 -0700
get hgc and hgTrackUi to use trackDb cache

diff --git src/hg/lib/hubConnect.c src/hg/lib/hubConnect.c
index f96ed11..c3e75b4 100644
--- src/hg/lib/hubConnect.c
+++ src/hg/lib/hubConnect.c
@@ -523,38 +523,32 @@
 }
 
 struct trackDb *hubConnectAddHubForTrackAndFindTdb( char *database, 
     char *trackName, struct trackDb **pTdbList, struct hash *trackHash)
 /* Go find hub for trackName (which will begin with hub_), and load the tracks
  * for it, appending to end of list and adding to trackHash.  Return the
  * trackDb associated with trackName. This will also fill in the html fields,
  * but just for that track and it's parents. */ 
 {
 unsigned hubId = hubIdFromTrackName(trackName);
 struct hubConnectStatus *hub = hubFromId(hubId);
 struct trackHubGenome *hubGenome = trackHubFindGenome(hub->trackHub, database);
 if (hubGenome == NULL)
     errAbort("Cannot find genome %s in hub %s", database, hub->hubUrl);
 boolean foundFirstGenome = FALSE;
-struct trackDb *tdbList = trackHubTracksForGenome(hub->trackHub, hubGenome, NULL, &foundFirstGenome);
-tdbList = trackDbLinkUpGenerations(tdbList);
-tdbList = trackDbPolishAfterLinkup(tdbList, database);
-//this next line causes warns to print outside of warn box on hgTrackUi
-//trackDbPrioritizeContainerItems(tdbList);
-if (hubGenome->quickLiftChain)
-    tdbList = fixForQuickLift(tdbList, hubGenome, hub);
-trackHubPolishTrackNames(hub->trackHub, tdbList);
+struct hash *trackDbNameHash = newHash(5);
+struct trackDb *tdbList = hubAddTracks(hub, database, &foundFirstGenome, trackDbNameHash, NULL);
 char *fixTrackName = cloneString(trackName);
 trackHubFixName(fixTrackName);
 rAddTrackListToHash(trackHash, tdbList, NULL, FALSE);
 if (pTdbList != NULL)
     *pTdbList = slCat(*pTdbList, tdbList);
 struct trackDb *tdb = hashFindVal(trackHash, fixTrackName);
 if (tdb == NULL) 
     // superTracks aren't in the hash... look in tdbList
     tdb = findSuperTrack(tdbList, fixTrackName);
 
 if (tdb == NULL) 
     errAbort("Can't find track %s in %s", fixTrackName, hub->trackHub->url);
 
 /* Add html for track and parents. */
 /* Note: this does NOT add the HTML for supertrack kids */