50bf71bc5c57303fb4d7225283f48cd13ba41bcf angie Wed Nov 18 23:20:57 2015 -0800 Change to interface of annoStreamDbNew: instead of making the caller pass in an asObject, the caller may now pass in a parsed JSON config object (or NULL). annoStreamDbNew will use this config object to determine whether related tables need to be joined with the track table, and produce its own asObj. It doesn't actually do that yet -- this is just an interface change that will enable it to do so. refs #15544 diff --git src/hg/lib/annoStreamDbKnownGene.c src/hg/lib/annoStreamDbKnownGene.c index 5aaf6e4..729b64f 100644 --- src/hg/lib/annoStreamDbKnownGene.c +++ src/hg/lib/annoStreamDbKnownGene.c @@ -152,27 +152,27 @@ /* Create an annoStreamer (subclass) object using two database tables: * knownGene: the UCSC Genes main track table * kgXref: the related table that contains the HGNC gene symbol that everyone wants to see * This streamer's rows are just like a plain annoStreamDb on knownGene, but with an * extra column at the end, 'geneSymbol', which is recognized as a gene symbol column due to * its use in refGene. */ { struct annoStreamDbKnownGene *self; AllocVar(self); struct annoStreamer *streamer = &(self->streamer); // Set up external streamer interface annoStreamerInit(streamer, aa, annoStreamDbKnownGeneAsObj(), "knownGene"); streamer->rowType = arWords; // Get internal streamer for knownGene -self->mySource = annoStreamDbNew(db, "knownGene", aa, knownGeneAsObj(), maxOutRows); +self->mySource = annoStreamDbNew(db, "knownGene", aa, maxOutRows, NULL); // Slurp in data from kgXref self->geneSymbols = hashNew(7); getGeneSymbols(self, db); // Override methods that need to pass through to internal source: streamer->setAutoSqlObject = askgSetAutoSqlObject; streamer->setRegion = askgSetRegion; streamer->nextRow = askgNextRow; streamer->close = askgClose; return (struct annoStreamer *)self; }