172 похожих чатов

1. Навскидку из того, что смог придумать, нигде не ошибся,

файл прилагаю следующим сообщением - это слишком длинное для комментария к файлу.

2. У меня тут фактическая ошибка, и можно маппить и в Instant (посмотрел сорцы).
Отвечая на вопросы: ZonedDateTime (в Java (вроде) 5+ версии и в .NET с библиотекой NodaTime) - timestamptz (в вашем определении - "абсолютное время") + timezone, где timezone может быть идентификатором из tzdb (могут быть другие источники, но они мне не интересны). Провайдер маппит его, используя таймзону соединения, что не будет очевидно тем, кто не знает, как в ПГ работают таймзоны. Instant - более подходящий вариант, т.к. он представляет timestamptz (в том же определении) без указания таймзоны.

3. В связи с фактической ошибкой выше - согласен с вами. Если бы не она, то маппинг во время с бесполезной таймзоной на стороне провайдера делал бы семантику неконсистентной (провайдер говорит, что таймзона есть, по факту - её нет)

4. Не соглашусь, что нормальные клиенты будут использовать текстовый протокол. В бинарном, насколько я знаю, указания на этот оффсет нет; по крайней мере в рассматриваемом провайдере читаемое значение используется как utc-шное время (я не изучал протоколы ПГ)

5. Можете привести пример какой-нибудь интересной грабли, ради научного интереса?


Исходя из того что провайдер позволяет маппить timestamptz в Instant, буду использовать timestamptz - так и семантика будет консистентна, и, наверное, ошибок будет меньше (сейчас опробую тот же файл на timestamptz)

2 ответов

7 просмотров
George-Bessonov Автор вопроса

попробовал timestamptz, логика отработала так же, в выводе клиент рисует локальное клиентской машине время, что очень не удобно (редактирование через UI так же ожидает ввода локального времени). Последнее может вести к ошибкам при ручном заполнении данных через UI, которым коллеги иногда пользуются. К сожалению, проблема - в драйвере jdbc, и для нормальной работы с UI клиентом необходимо менять настройки сессии, чему придётся учить UI-юзеров. Кажется, всё-таки timestamp пойдёт лучше - он со всех сторон выглядит безопаснее. По крайней мере, на сделанной мной выборке операций. Может, я не учёл какой-то операции, которая так же вероятно может встретиться в коде и которая приведёт к ошибкам при работе с таймзонами

До следующего пункта — примерно понятно. > 4. Не соглашусь, что нормальные клиенты будут использовать текстовый протокол. Я имел в виду те, в которых разработчики будут проверять запросы и т.п. (psql, например). > В бинарном, насколько я знаю, указания на этот оффсет нет; Ну да, это же just human-readable representation. > 5. Можете привести пример какой-нибудь интересной грабли, ради научного интереса? Я их особо не коллекционирую. ;)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта