Re: BUG #16169: Default time output for 24:00 is 00:00

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Francisco Olarte <folarte(at)peoplecall(dot)com>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16169: Default time output for 24:00 is 00:00
Date: 2019-12-17 21:05:57
Message-ID: 15853.1576616757@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Francisco Olarte <folarte(at)peoplecall(dot)com> writes:
> On Tue, Dec 17, 2019 at 7:18 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Another theory is that the webpage is passing the output through some
>> type-aware reformatting ... that seems pretty weird though.

> I think it is that. http://sqlfiddle.com/#!17/9eecb/43349 == select
> '24:00'::time::text; returns "24:00:00".

Hmm ... yeah. If you try similar experiments with interval or timestamp
values, or even just booleans, you get completely different results
depending on whether the exposed query result type is that or just text.
For instance

select now();

2019-12-17T20:59:28.701655Z

select now()::text;

2019-12-17 20:59:50.113717+00

There are a few cases where a cast-to-text in PG produces a different
string than the type's output function would, but that doesn't apply
here. sqlfiddle's web page must be coercing the value into some
format they like better.

So that's something sqlfiddle.com really ought to document for
themselves. (Maybe they do --- I've never poked around their
website in any detail.)

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Thomas Munro 2019-12-17 22:21:11 Re: BUG #16104: Invalid DSA Memory Alloc Request in Parallel Hash
Previous Message Francisco Olarte 2019-12-17 18:29:21 Re: BUG #16169: Default time output for 24:00 is 00:00