Hackers!
I'm writing another patch for timestamps and while I tried to cover
corner-cases I found out there is an ability to get
"Infinity"::timestamptz via defining it by a specific (but not
"Infinity") value:
postgres=# SELECT '294277-01-09 04:00:54.775806+00'::timestamptz; -- OK timestamptz
---------------------------------294277-01-09 04:00:54.775806+00
(1 row)
postgres=# SELECT '294277-01-09 04:00:54.775807+00'::timestamptz; -- Inf???timestamptz
-------------infinity
(1 row)
postgres=# SELECT '294277-01-09 04:00:54.775808+00'::timestamptz; --
Higher values give an error
ERROR: timestamp out of range: "294277-01-09 04:00:54.775808+00"
LINE 1: SELECT '294277-01-09 04:00:54.775808+00'::timestamptz; ^
I could not find a way to get "-Infinity" by similar way.
Is it feature or a bug? Does it worth to insert a check for that
special case to raise an exception "timestamp out of range"?
--
Best regards,
Vitaly Burovoy