da0932abedd063b6e9fe087bc26ab9ef53b6cd2e braney Thu Apr 22 16:43:20 2021 -0700 make hubApi use the trackDb cache. diff --git src/hg/lib/hubConnect.c src/hg/lib/hubConnect.c index 18505fc..73aa820 100644 --- src/hg/lib/hubConnect.c +++ src/hg/lib/hubConnect.c @@ -722,70 +722,39 @@ // users may include quotes in their hub names requiring escaping sqlSafef(query, sizeof(query), "update %s set shortLabel=\"%s\",longLabel=\"%s\",dbCount=\"%d\",dbList=\"%s\",errorMessage=\"\",lastOkTime=now() where id=%d", getHubStatusTableName(), tHub->shortLabel, tHub->longLabel, dbCount, dbList, hub->id); sqlUpdate(conn, query); } hDisconnectCentral(&conn); } struct trackDb *hubAddTracks(struct hubConnectStatus *hub, char *database) /* Load up stuff from data hub and return list. */ { /* Load trackDb.ra file and make it into proper trackDb tree */ -struct trackDb *tdbList = NULL; struct trackHub *trackHub = hub->trackHub; if (trackHub != NULL) { struct trackHubGenome *hubGenome = trackHubFindGenome(trackHub, database); if (hubGenome != NULL) - { - boolean doCache = trackDbCacheOn(); - - if (doCache) - { - // we have to open the trackDb file to get the udc cache to check for an update - struct udcFile *checkCache = udcFileMayOpen(hubGenome->trackDbFile, NULL); - if (checkCache != NULL) - { - time_t time = udcUpdateTime(checkCache); - udcFileClose(&checkCache); - - struct trackDb *cacheTdb = trackDbHubCache(hubGenome->trackDbFile, time); - - if (cacheTdb != NULL) - return cacheTdb; - } - - memCheckPoint(); // we want to know how much memory is used to build the tdbList + return trackHubAddTracksGenome(hubGenome); } - - struct dyString *incFiles = newDyString(4096); - tdbList = trackHubTracksForGenome(trackHub, hubGenome, incFiles); - tdbList = trackDbLinkUpGenerations(tdbList); - tdbList = trackDbPolishAfterLinkup(tdbList, database); - trackDbPrioritizeContainerItems(tdbList); - trackHubPolishTrackNames(trackHub, tdbList); - - if (doCache) - trackDbHubCloneTdbListToSharedMem(hubGenome->trackDbFile, tdbList, memCheckPoint(), incFiles->string); - } - } -return tdbList; +return NULL; } static struct grp *grpFromHub(struct hubConnectStatus *hub) /* Make up a grp structur from hub */ { struct grp *grp; AllocVar(grp); char name[16]; safef(name, sizeof(name), "hub_%d", hub->id); grp->name = cloneString(name); grp->label = cloneString(hub->trackHub->shortLabel); return grp; } struct trackDb *hubCollectTracks( char *database, struct grp **pGroupList)