Thread: BUG #16571: "time with time zone" type can input '00:00:00+1559'::time with time zone
BUG #16571: "time with time zone" type can input '00:00:00+1559'::time with time zone
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 16571 Logged by: osdba Email address: mailtch@163.com PostgreSQL version: 13beta2 Operating system: all Description: In Document(https://www.postgresql.org/docs/current/datatype-datetime.html), "time with time zone" range is: 00:00:00+1459 to 24:00:00-1459 but you can input: osdba=# select '00:00:00+1559'::time with time zone; timetz ---------------- 00:00:00+15:59 (1 row) osdba=# select '24:00:00-1559'::time with time zone; timetz ---------------- 24:00:00-15:59 (1 row) you can input range is : 00:00:00+1559 to 24:00:00-1559 not the "00:00:00+1459 to 24:00:00-1459" Document error or this type bug? all version postgresql have this strange phenomenon.
Re: BUG #16571: "time with time zone" type can input '00:00:00+1559'::time with time zone
From
Tom Lane
Date:
PG Bug reporting form <noreply@postgresql.org> writes: > In Document(https://www.postgresql.org/docs/current/datatype-datetime.html), > "time with time zone" range is: 00:00:00+1459 to 24:00:00-1459 > but you can input: > osdba=# select '00:00:00+1559'::time with time zone; > timetz > ---------------- > 00:00:00+15:59 > (1 row) Hmm, the code is quite clear about it: /* * We allow numeric timezone offsets up to 15:59:59 either way from Greenwich. * Currently, the record holders for wackiest offsets in actual use are zones * Asia/Manila, at -15:56:00 until 1844, and America/Metlakatla, at +15:13:42 * until 1867. If we were to reject such values we would fail to dump and * restore old timestamptz values with these zone settings. */ #define MAX_TZDISP_HOUR 15 /* maximum allowed hour part */ Apparently this documentation reference got overlooked the last time we changed that :-(. Will fix, thanks for the report! regards, tom lane