Cott Lang <[EMAIL PROTECTED]> writes: > If the number of tuples is sufficiently high, pg reports 'reltuples' > back in TABLE_STATS_QUERY in scientific notation instead of an integer.
Right, because that column is actually a float4. > Changing from atoi() to atof() solves the problem completely. > new_tbl->reltuples = > atof(PQgetvalue(res, row, PQfnumber(res, "reltuples"))); > new_tbl->relpages = > atof(PQgetvalue(res, row, PQfnumber(res, "relpages"))); I should think this would break in different ways once reltuples exceeds INT_MAX. A full fix would require changing new_tbl->reltuples to be float or double, and coping with any downstream changes that implies. Also, relpages *is* an integer, though it's best interpreted as an unsigned one. (Ditto for relid.) Looks like this code is 0-for-3 on getting the datatypes right :-( regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster