Re: Relaxing NaN/Infinity restriction in JSON fields

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mitar <mmitar(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Relaxing NaN/Infinity restriction in JSON fields
Date: 2019-05-06 20:21:36
Message-ID: 6323.1557174096@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Mitar <mmitar(at)gmail(dot)com> writes:
> When migrating from MongoDB to PostgreSQL one thing which just
> surprised me now is that I cannot store NaN/Infinity in JSON fields. I
> know that standard JSON restricts those values, but they are a very
> common (and welcome) relaxation. What are prospects of this
> restriction being lifted?

The JSON RFC is pretty clear on this matter [1]:

Numeric values that cannot be represented in the grammar below (such
as Infinity and NaN) are not permitted.

Getting us to deviate from the RFC so blatantly would be a very hard sell.
A large part of the point of the JSON datatype is to be interoperable;
once you give that up you may as well use some not-standard-at-all
representation.

> It is really sad that one cannot stores
> directly all IEEE 754 double precision floating point values.

There is not, and never has been, any claim that JSON numbers correspond
to the IEEE spec.

regards, tom lane

[1] https://tools.ietf.org/html/rfc7159#page-6

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Brent Wood 2019-05-06 20:44:18 Re: Postgres for SQL Server users
Previous Message Mitar 2019-05-06 19:55:41 Relaxing NaN/Infinity restriction in JSON fields