Thread
Commits
-
Doc: fix obsolete info about allowed range of TZ offsets in timetz.
- eeb01e3122bb 14.0 landed
- d809d99cd4db 9.5.23 landed
- 995c53b44999 11.9 landed
- 8d5c632e9606 12.4 landed
- 6dab26bbef3e 10.14 landed
- 6d78f219e8af 13.0 landed
- 4399909af869 9.6.19 landed
-
BUG #16571: "time with time zone" type can input '00:00:00+1559'::time with time zone
The Post Office <noreply@postgresql.org> — 2020-08-03T07:26:09Z
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
Tom Lane <tgl@sss.pgh.pa.us> — 2020-08-03T14:18:00Z
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