dbd8fef5786457ba53375f006c4eaedf3d256110 hiram Fri Apr 5 11:46:55 2019 -0700 now output correct string or number json types refs #18869 diff --git src/hg/hubApi/list.c src/hg/hubApi/list.c index 24b75db..6ead98c 100644 --- src/hg/hubApi/list.c +++ src/hg/hubApi/list.c @@ -35,31 +35,32 @@ static void jsonPublicHubs() /* output the hubPublic SQL table */ { struct sqlConnection *conn = hConnectCentral(); char *dataTime = sqlTableUpdate(conn, hubPublicTableName()); time_t dataTimeStamp = sqlDateToUnixTime(dataTime); replaceChar(dataTime, ' ', 'T'); /* ISO 8601 */ struct hubPublic *el = hubPublicDbLoadAll(); struct jsonWrite *jw = apiStartOutput(); jsonWriteString(jw, "dataTime", dataTime); jsonWriteNumber(jw, "dataTimeStamp", (long long)dataTimeStamp); freeMem(dataTime); // redundant: jsonWriteString(jw, "tableName", hubPublicTableName()); char **columnNames = NULL; char **columnTypes = NULL; -int columnCount = tableColumns(conn, jw, hubPublicTableName(), &columnNames, &columnTypes); +int *jsonTypes = NULL; +int columnCount = tableColumns(conn, jw, hubPublicTableName(), &columnNames, &columnTypes, &jsonTypes); jsonWriteListStart(jw, "publicHubs"); for ( ; el != NULL; el = el->next ) { hubPublicJsonData(jw, el, columnCount, columnNames); } jsonWriteListEnd(jw); jsonWriteObjectEnd(jw); fputs(jw->dy->string,stdout); hDisconnectCentral(&conn); } static void dbDbJsonData(struct jsonWrite *jw, struct dbDb *el, int columnCount, char **columnNames) /* Print out dbDb table element in JSON format. * must be same as was stated in the columnName header element @@ -108,34 +109,32 @@ /* output the dbDb SQL table */ { struct sqlConnection *conn = hConnectCentral(); char *dataTime = sqlTableUpdate(conn, "dbDb"); time_t dataTimeStamp = sqlDateToUnixTime(dataTime); replaceChar(dataTime, ' ', 'T'); /* ISO 8601 */ struct dbDb *dbList = ucscDbDb(); struct dbDb *el; struct jsonWrite *jw = apiStartOutput(); jsonWriteString(jw, "dataTime", dataTime); jsonWriteNumber(jw, "dataTimeStamp", (long long)dataTimeStamp); freeMem(dataTime); // not needed: jsonWriteString(jw, "tableName", "dbDb"); char **columnNames = NULL; char **columnTypes = NULL; -int columnCount = tableColumns(conn, jw, "dbDb", &columnNames, &columnTypes); -if (columnCount) - { - } +int *jsonTypes = NULL; +int columnCount = tableColumns(conn, jw, "dbDb", &columnNames, &columnTypes, &jsonTypes); // jsonWriteListStart(jw, "ucscGenomes"); jsonWriteObjectStart(jw, "ucscGenomes"); for ( el=dbList; el != NULL; el = el->next ) { dbDbJsonData(jw, el, columnCount, columnNames); } // jsonWriteListEnd(jw); jsonWriteObjectEnd(jw); jsonWriteObjectEnd(jw); fputs(jw->dy->string,stdout); hDisconnectCentral(&conn); } static void hubChromInfoJsonOutput(FILE *f, char *hubUrl, char *genome) /* for given hubUrl list the chromosomes in the sequence for specified genome