pgsql: Include GUC's unit, if it has one, in out-of-range error message

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-committers@lists.postgresql.org
Date: 2019-03-10T19:18:20Z
Lists: pgsql-hackers
Include GUC's unit, if it has one, in out-of-range error messages.

This should reduce confusion in cases where we've applied a units
conversion, so that the number being reported (and the quoted range
limits) are in some other units than what the user gave in the
setting we're rejecting.

Some of the changes here assume that float GUCs can have units,
which isn't true just yet, but will be shortly.

Discussion: https://postgr.es/m/3811.1552169665@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/28a65fc3607a0f45c39a9418f747459bb4f1592a

Modified Files
--------------
src/backend/utils/misc/guc.c      | 113 ++++++++++++++++++++++----------------
src/test/regress/expected/guc.out |   2 +-
2 files changed, 66 insertions(+), 49 deletions(-)

Commits

  1. Give up on testing guc.c's behavior for "infinity" inputs.

  2. In guc.c, ignore ERANGE errors from strtod().

  3. Include GUC's unit, if it has one, in out-of-range error messages.