docs(storage): у Date пояса нет, и по нему легко промахнуться
- Зачем:
- фраза «Date не участвует вовсе» выводила тип из-под общего правила:
про объявление это правда, про употребление — нет. Считая время по
EventDate без имени пояса, легко получить часы вне диапазона.
- Что:
- фраза заменена на две: Date хранит только номер дня, пояс при счёте
времени называют руками, промах виден по часам за границами 0–23.
- Проверка:
- замерено на стенде: без имени пояса часы от начала суток идут -4…19,
отрицательных 15 843 события; с названным поясом — 0…23
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a02eba56c2
commit
76405a06ee
1 file changed
+3
-1
@@ -171,7 +171,9 @@ Greenplum, чтобы словарь был общим у двух хранил
|
|||||||
абсолютны тоже — `DateTime64(3, 'UTC')`. DDS и витрины обслуживают человека с
|
абсолютны тоже — `DateTime64(3, 'UTC')`. DDS и витрины обслуживают человека с
|
||||||
дашбордом, поэтому время там лежит местным, в поясе счётчика (`Europe/Samara`,
|
дашбордом, поэтому время там лежит местным, в поясе счётчика (`Europe/Samara`,
|
||||||
UTC+4), и пересчёт идёт один раз при наполнении слоя: автор отчёта пояса не
|
UTC+4), и пересчёт идёт один раз при наполнении слоя: автор отчёта пояса не
|
||||||
пишет, он берёт готовую колонку. `Date` не участвует вовсе — у типа пояса нет.
|
пишет, он берёт готовую колонку. `Date` хранит только номер дня — чьи это
|
||||||
|
сутки, в нём не записано. Поэтому время по `EventDate` считают, назвав пояс
|
||||||
|
руками; промах виден сразу: часы суток уезжают за границы 0–23.
|
||||||
|
|
||||||
Объявить местным и ODS — `DateTime('Europe/Samara')` — соблазнительно: байты те
|
Объявить местным и ODS — `DateTime('Europe/Samara')` — соблазнительно: байты те
|
||||||
же, меняется одна линза, и `toDate(UTCEventTime)` начинает совпадать с
|
же, меняется одна линза, и `toDate(UTCEventTime)` начинает совпадать с
|
||||||
|
|||||||
Reference in new issue
Block a user