Re: BUG #13687: bug in row_to_json function with '-infinity' timestamp

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: stepanperlov(at)gmail(dot)com, "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #13687: bug in row_to_json function with '-infinity' timestamp
Date: 2015-10-19 15:22:58
Message-ID: CAKFQuwaCK2N3BCDZMrFgz1a9kONG8cQd239DtH8ajbXTf3x1bw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Oct 19, 2015 at 11:12 AM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:

> On Mon, Oct 19, 2015 at 10:25:53AM -0400, David G. Johnston wrote:
> > On Mon, Oct 19, 2015 at 9:00 AM, <stepanperlov(at)gmail(dot)com> wrote:
> >
> > The following bug has been logged on the website:
> >
> > Bug reference: 13687
> > Logged by: Stepan
> > Email address: stepanperlov(at)gmail(dot)com
> > PostgreSQL version: 9.4.5
> > Operating system: Ubuntu 14.04.1 LTS
> > Description:
> >
> > SELECT row_to_json(t)
> > FROM (SELECT '-infinity'::timestamptz) t
> >
> >
> > ​What do you see happening and what do you think should happen (and why)?
>
> Well, the output I see is:
>
> SELECT row_to_json(t)
> FROM (SELECT '-infinity'::timestamptz) t ;
> row_to_json
> ----------------------------
> {"timestamptz":"infinity"}
>
> I assume the user expects positive infinity.
>

​The user is expecting negative infinity...which I agree with.

Release notes do indicate this incompatibility:
>>>
When converting values of type date, timestamp or timestamptz to JSON,
render the values in a format compliant with ISO 8601 (Andrew Dunstan)

Previously such values were rendered according to the current DateStyle
setting; but many JSON processors require timestamps to be in ISO 8601
format. If necessary, the previous behavior can be obtained by explicitly
casting the datetime value to text before passing it to the JSON conversion
function.
​>>>​

​But since ISO 8601 doesn't define infinity our implementation of this
behavior is not externally constrained and probably shouldn't be changed.

David J.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2015-10-19 15:25:01 Re: BUG #13687: bug in row_to_json function with '-infinity' timestamp
Previous Message Bruce Momjian 2015-10-19 15:12:48 Re: BUG #13687: bug in row_to_json function with '-infinity' timestamp