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;