Bug in CAST() with time data types
От | Alvaro Herrera |
---|---|
Тема | Bug in CAST() with time data types |
Дата | |
Msg-id | Pine.LNX.4.30.0012151057100.1548-100000@aguila.protecne.cl обсуждение исходный текст |
Список | pgsql-bugs |
Your name : Alvaro Herrera Your email address : alvherre@protecne.cl System Configuration --------------------- Architecture (example: Intel Pentium) : AMD Athlon Operating System (example: Linux 2.0.26 ELF) : Linux 2.2.17 PostgreSQL version (example: PostgreSQL-7.0): PostgreSQL-7.0.2 Compiler used (example: gcc 2.8.0) : RPM for Mandrake Linux Please enter a FULL description of your problem: ------------------------------------------------ When inserting timestamps or interval types whose precision is one full minute, Postgres substracts one minute from the data and add 60 seconds (00:01:00 becomes 00:00:60). Later, when reading this data Postgres says "Bad timestamp external representation '2000-12-14 18:25:60.00-03'" and refuses to understand it. I gave a look at the list of fixed bugs for 7.0.3, but it isn't listed. (sorry, Mandrake hasn't provided upgraded packages yet, and I don't want to mess around with the installation). Please describe a way to repeat the problem. Please try to provide a concise reproducible example, if at all possible: ---------------------------------------------------------------------- rwatch=> CREATE TABLE test (val1 TIMESTAMP, val2 INTERVAL); CREATE rwatch=> INSERT INTO test VALUES (CAST ('2000-12-14 18:25:00.00-03' AS TIMESTAMP), CAST ('00:01:00' AS INTERVAL)); INSERT 4400170 1 rwatch=> SELECT * FROM test; val1 | val2 ---------------------------+---------- 2000-12-14 18:25:60.00-03 | 00:00:60 (1 row) (cutting and pasting the text from the select above): rwatch=> INSERT INTO test VALUES (CAST ('2000-12-14 18:25:60.00-03' AS TIMESTAMP)); ERROR: Bad timestamp external representation '2000-12-14 18:25:60.00-03' If you know how this problem might be fixed, list the solution below: --------------------------------------------------------------------- Sorry, I don't even know where to look. It is probably a bug in the way CAST() treats it's arguments, when dealing with time data types. -- Alvaro Herrera (<alvherre[@]protecne.cl>)
В списке pgsql-bugs по дате отправления: