interval_scale not work as expected?

From: jian he <jian(dot)universality(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: interval_scale not work as expected?
Date: 2023-10-16 00:00:00
Message-ID: CACJufxHWW_ogDVRcCJPTjAg_AQXJPHrGDZjteGdxNhVo-etuHQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi.

(
SELECT interval(0) '1 day 01:23:45.6789'
union all
SELECT interval(1) '1 day 01:23:45.6789'
union all
SELECT interval(2) '1 day 01:23:45.6789'
union all
SELECT interval(3) '1 day 01:23:45.6789'
union all
SELECT interval(4) '1 day 01:23:45.6789'
)
EXCEPT all
(
SELECT pg_catalog.interval('1 day 01:23:45.6789'::interval,2147418112)
union all
SELECT pg_catalog.interval('1 day 01:23:45.6789'::interval,2147418113)
union all
SELECT pg_catalog.interval('1 day 01:23:45.6789'::interval,2147418114)
union all
SELECT pg_catalog.interval('1 day 01:23:45.6789'::interval,2147418115)
union all
SELECT pg_catalog.interval('1 day 01:23:45.6789'::interval,2147418116)
);

https://dbfiddle.uk/zT8OByj1
the above works even in postgres 9.6. I debugged, then found out these
magic values like 2147418112.

I thought:
SELECT pg_catalog.interval('1 day 01:23:45.6789'::interval, 0)
is same as
SELECT interval(0) '1 day 01:23:45.6789'

is this a bug in AdjustIntervalForTypmod?

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2023-10-16 00:18:33 pgsql: Add support event triggers on authenticated login
Previous Message Alexander Korotkov 2023-10-15 23:47:03 Re: On login trigger: take three