Fix incorrect translation of minus-infinity datetimes for json/jsonb.
Commit bda76c1c8cfb1d11751ba6be88f0242850481733 caused both plus and
minus infinity to be rendered as "infinity", which is not only wrong
but inconsistent with the pre-9.4 behavior of to_json(). Fix that by
duplicating the coding in date_out/timestamp_out/timestamptz_out more
closely. Per bug #13687 from Stepan Perlov. Back-patch to 9.4, like
the previous commit.
In passing, also re-pgindent json.c, since it had gotten a bit messed up by
recent patches (and I was already annoyed by indentation-related problems
in back-patching this fix ...)
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/d4355425831fe8f6a68095393e3628cb30d06b3f
Modified Files
--------------
src/backend/utils/adt/date.c | 3 +-
src/backend/utils/adt/json.c | 72 ++++++++++++++---------------------
src/backend/utils/adt/jsonb.c | 54 ++++++++------------------
src/backend/utils/adt/timestamp.c | 3 +-
src/include/utils/date.h | 1 +
src/include/utils/datetime.h | 1 +
src/test/regress/expected/json.out | 18 +++++++++
src/test/regress/expected/jsonb.out | 18 +++++++++
src/test/regress/sql/json.sql | 3 ++
src/test/regress/sql/jsonb.sql | 3 ++
10 files changed, 90 insertions(+), 86 deletions(-)