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 */