f01366a14e4574f413ed9b55a0d1c36376074dd8 hiram Tue Apr 9 14:43:00 2019 -0700 adding an allowedBigBedType() function to recognize that set of big types refs #18869 diff --git src/hg/hubApi/getData.c src/hg/hubApi/getData.c index ed2aee8..da90de0 100644 --- src/hg/hubApi/getData.c +++ src/hg/hubApi/getData.c @@ -334,31 +334,31 @@ } unsigned uStart = 0; unsigned uEnd = chromSize; if ( ! (isEmpty(start) || isEmpty(end)) ) { uStart = sqlUnsigned(start); uEnd = sqlUnsigned(end); jsonWriteNumber(jw, "start", uStart); jsonWriteNumber(jw, "end", uEnd); } jsonWriteString(jw, "bigDataUrl", bigDataUrl); jsonWriteString(jw, "trackType", thisTrack->type); -if (startsWith("bigBed", thisTrack->type)) +if (allowedBigBedType(thisTrack->type)) { struct asObject *as = bigBedAsOrDefault(bbi); struct sqlFieldType *fiList = sqlFieldTypesFromAs(as); if (debug) bigColumnTypes(jw, fiList); jsonWriteListStart(jw, track); if (isEmpty(chrom)) { struct bbiChromInfo *bci; for (bci = chromList; bci; bci = bci->next) { bedDataOutput(jw, bbi, bci->name, 0, bci->size, fiList, thisTrack); } } @@ -477,36 +477,37 @@ else { chromList = bbiChromList(bbi); jsonWriteNumber(jw, "chromCount", (long long)slCount(chromList)); } jsonWriteString(jw, "bigDataUrl", bigDataUrl); } /* when start, end given, show them */ if ( uEnd > uStart ) { jsonWriteNumber(jw, "start", uStart); jsonWriteNumber(jw, "end", uEnd); } -if (startsWith("bigBed", thisTrack->type)) +if (allowedBigBedType(thisTrack->type)) { struct asObject *as = bigBedAsOrDefault(bbi); struct sqlFieldType *fiList = sqlFieldTypesFromAs(as); if (debug) bigColumnTypes(jw, fiList); + jsonWriteListStart(jw, track); if (isEmpty(chrom)) { struct bbiChromInfo *bci; for (bci = chromList; bci; bci = bci->next) { bedDataOutput(jw, bbi, bci->name, 0, bci->size, fiList, thisTrack); } } else bedDataOutput(jw, bbi, chrom, uStart, uEnd, fiList, thisTrack); jsonWriteListEnd(jw); } else if (startsWith("bigWig", thisTrack->type)) {