Мозг и когнитивные функции

пятница, 16 ноября 2007 г.

Ошибка в JDBC 3 драйвере к PostgreSQL

Пользовали JDBC 3 драйвер версии 8.0.39 к PostgreSQL 8.1 и наблюдали странную картину. Если делать запись в поле типа timestamp без тайм зоны то записанное значение иногда отличается на 1 час от того которое там должно быть.

Почему иногда:
Записи дат и времени до 2037 года и через драйвер и SQL скриптом с консоли приводят к одинаковым результатам и ошибки не возникает. Для дат и времени после 2057 года наблюдается такая картина. Зимнее время - записывается без ошибок. Летнее время на 1 час отстает. Пишем '2057-06-20 15:47:42.625' через драйвер получаем в базе '2057-06-20 14:47:42.625'. Если тоже записать через SQL консоль - ошибок нет.

Обновили драйвер до версии postgresql-8.1-410.jdbc3.jar - ошибки записи пропали, все работает.
Коллеги, будьте внимательны!

Комментариев нет: