67ce69b2d6be585fcad3cb0dd5fc927e95c327ff chmalee Mon Oct 14 13:48:54 2019 -0700 Rework of hgHubConnect hub searching to not use trackDb or udc so searches can be sped up. The hubSearchText table now has an extra column for the parent track names (if any) of a search result to a track. hgHubConnect has been changed to use this field of the table instead of using trackDb. hubCrawl has been changed to generate this additional column, refs #23812 diff --git src/hg/inc/hubSearchText.h src/hg/inc/hubSearchText.h index a256ee4..6e3b9b4 100644 --- src/hg/inc/hubSearchText.h +++ src/hg/inc/hubSearchText.h @@ -1,40 +1,41 @@ /* hubSearchText.h was originally generated by the autoSql program, which also * generated hubSearchText.c and hubSearchText.sql. This header links the database and * the RAM representation of objects. */ #ifndef HUBSEARCHTEXT_H #define HUBSEARCHTEXT_H -#define HUBSEARCHTEXT_NUM_COLS 6 +#define HUBSEARCHTEXT_NUM_COLS 7 extern char *hubSearchTextCommaSepFieldNames; enum hubSearchTextTextLength { hubSearchTextShort = 0, hubSearchTextLong = 1, hubSearchTextMeta = 2, }; struct hubSearchText /* Track hub descriptions */ { struct hubSearchText *next; /* Next in singly linked list. */ char *hubUrl; /* Hub URL */ char *db; /* Assembly name (UCSC format) for Assembly and Track descriptions, NULL for hub descriptions */ char *track; /* Track name for track descriptions, NULL for others */ char *label; /* Name to display in search results */ + char *parents; /* Comma separated list of parent track of this track, NULL for others */ enum hubSearchTextTextLength textLength; /* Length of text (short for labels, long for description pages, meta for metadata) */ char *text; /* Description text */ }; void hubSearchTextStaticLoadWithNull(char **row, struct hubSearchText *ret); /* Load a row from hubSearchText table into ret. The contents of ret will * be replaced at the next call to this function. */ struct hubSearchText *hubSearchTextLoadWithNull(char **row); /* Load a hubSearchText from row fetched with select * from hubSearchText * from database. Dispose of this with hubSearchTextFree(). */ struct hubSearchText *hubSearchTextLoadAll(char *fileName); /* Load all hubSearchText from whitespace-separated file. * Dispose of this with hubSearchTextFreeList(). */