d983323cd2570af1cf3971763d14ef2d88c06fe4 jcasper Wed Feb 19 17:00:19 2025 -0800 sqlTableSize needs to support tables with more than 2B rows (rarely, but it does), refs #35262 diff --git src/hg/oneShot/findToFixBedGraphViewLimits/findToFixBedGraphViewLimits.c src/hg/oneShot/findToFixBedGraphViewLimits/findToFixBedGraphViewLimits.c index 7edd2f62800..d9622ec0cbf 100644 --- src/hg/oneShot/findToFixBedGraphViewLimits/findToFixBedGraphViewLimits.c +++ src/hg/oneShot/findToFixBedGraphViewLimits/findToFixBedGraphViewLimits.c @@ -59,31 +59,31 @@ freez(&type); /* Figure out field corresponding to dataFieldIndex. */ struct sqlConnection *conn = sqlConnect(db); struct slName *fieldList = sqlFieldNames(conn, track); struct slName *pastBin = fieldList; if (sameString(pastBin->name, "bin")) pastBin = pastBin->next; struct slName *fieldName = slElementFromIx(pastBin, dataFieldIndex - 1); if (fieldName == NULL) errAbort("%s doesn't have enough fields", track); char *field = fieldName->name; assert(sqlFieldIndex(conn, track, field) >= 0); /* Print reassuring status message */ - verbose(1, "%s.%s has %d elements. Data field is %s\n", db, track, sqlTableSize(conn, track), field); + verbose(1, "%s.%s has %ld elements. Data field is %s\n", db, track, sqlTableSize(conn, track), field); /* Get min/max dataValues in fields. Do it ourselves rather than using SQL min/max because sometimes * the data field is a name column.... */ char query[512]; sqlSafef(query, sizeof(query), "select chromStart,chromEnd,%s from %s", field, track); struct sqlResult *sr = sqlGetResult(conn, query); char **row; row = sqlNextRow(sr); assert(row != NULL); int size = sqlUnsigned(row[1]) - sqlUnsigned(row[0]); double val = sqlDouble(row[2]); double minLimit = val, maxLimit = val; double sumData = val*size; double sumSquares = val*val*size; bits64 n = size;