pgsql: Render infinite date/timestamps as 'infinity' for json/jsonb - Mailing list pgsql-committers

From Andrew Dunstan
Subject pgsql: Render infinite date/timestamps as 'infinity' for json/jsonb
Date
Msg-id E1YR2LP-0003OK-UF@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Render infinite date/timestamps as 'infinity' for json/jsonb

Commit ab14a73a6c raised an error in these cases and later the
behaviour was copied to jsonb. This is what the XML code, which we
then adopted, does, as the XSD types don't accept infinite values.
However, json dates and timestamps are just strings as far as json is
concerned, so there is no reason not to render these values as
'infinity'.

The json portion of this is backpatched to 9.4 where the behaviour was
introduced. The jsonb portion only affects the development branch.

Per gripe on pgsql-general.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/bda76c1c8cfb1d11751ba6be88f0242850481733

Modified Files
--------------
src/backend/utils/adt/json.c          |   43 +++++++++++------------
src/backend/utils/adt/jsonb.c         |   61 ++++++++++++++++++---------------
src/test/regress/expected/json.out    |   24 +++++++++++++
src/test/regress/expected/json_1.out  |   24 +++++++++++++
src/test/regress/expected/jsonb.out   |   24 +++++++++++++
src/test/regress/expected/jsonb_1.out |   24 +++++++++++++
src/test/regress/sql/json.sql         |    6 ++++
src/test/regress/sql/jsonb.sql        |    6 ++++
8 files changed, 164 insertions(+), 48 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Reconsider when to wait for WAL flushes/syncrep during commit.
Next
From: Andrew Dunstan
Date:
Subject: pgsql: Render infinite date/timestamps as 'infinity' for json/jsonb