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

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
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:25:01
Message-ID: 20151019152501.GE24392@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, Oct 19, 2015 at 11:22:58AM -0400, David G. Johnston wrote:
> 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.

Sorry, yeah, I meant negative infinity.

> 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.

Well, if infinity is not defined, we can output whatever seems logical,
and returning +infinity for -infinity seems illogical.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+ Roman grave inscription +

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2015-10-19 15:31:38 Re: BUG #13687: bug in row_to_json function with '-infinity' timestamp
Previous Message David G. Johnston 2015-10-19 15:22:58 Re: BUG #13687: bug in row_to_json function with '-infinity' timestamp