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)?