clamp_row_est avoid infinite - Mailing list pgsql-hackers

From jian he
Subject clamp_row_est avoid infinite
Date
Msg-id CACJufxHVenbVW=gX=LQCwB0-tEmHh6OVx1DhLb7OLZdhLskp-w@mail.gmail.com
Whole thread Raw
Responses Re: clamp_row_est avoid infinite
List pgsql-hackers
hi.

/*
 * clamp_row_est
 * Force a row-count estimate to a sane value.
 */
double
clamp_row_est(double nrows)
{
/*
* Avoid infinite and NaN row estimates.  Costs derived from such values
* are going to be useless.  Also force the estimate to be at least one
* row, to make explain output look better and to avoid possible
* divide-by-zero when interpolating costs.  Make it an integer, too.
*/
if (nrows > MAXIMUM_ROWCOUNT || isnan(nrows))
nrows = MAXIMUM_ROWCOUNT;
else if (nrows <= 1.0)
nrows = 1.0;
else
nrows = rint(nrows);

return nrows;
}


The comments say `Avoid infinite and NaN`
but actually we only avoid NaN.

Do we need to add isinf(nrows)?



pgsql-hackers by date:

Previous
From: Peter Smith
Date:
Subject: Re: logicalrep_worker_launch -- counting/checking the worker limits
Next
From: Amit Kapila
Date:
Subject: Re: promotion related handling in pg_sync_replication_slots()