|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
04.07.2019 12:25, Коваленко Дмитрий пишет: > Но отдавал только что-то одно. По умолчанию - смещение. > Так? йез ыт ыз! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2019, 12:31 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
hvladВасилий 2, Как мне поможет "текущий UTC" определить UTC для даты\времени события в Сингапуре через 4 года (которое я хочу записать в БД - календарь) ?Очень просто! Прибавляешь к текущему UTC 4 года и получаешь UTC для даты/времени через 4 года где угодно и в Сигнапуре в том числе. UTC, он ведь и в Сигнапуре - UTC. Если тебе надо что-то пнуть на сервере в предполагаемое время, просто пинаешь, когда приходит срок, а если надо вернуть это время клиенту - возвращаешь его клиенту как есть и пусть клиент сам решает, что ему с этим UTC делать - приводить к локальному или хавать как есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:35 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_dev, перестань маяться фигнёй. В текущей реализации дат с тайм-зонами время и так храниться в UTC + timezone id ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:51 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_dev, пользователь вводит свою дату. Причём тут текущее время? Ты что там предлагаешь какие-то идиотские пересчёты через текущее время клиента делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:55 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_devhvladКак мне поможет "текущий UTC" определить UTC для даты\времени события в Сингапуре через 4 года (которое я хочу записать в БД - календарь) ?Очень просто! Прибавляешь к текущему UTC 4 года и получаешь UTC для даты/времени через 4 года где угодно и в Сигнапуре в том числеЯ хочу записать в БД дату\время '12.5.2024 9:00' по Сингапурскому местному времени. Как мне в этом поможет моё UTC ? rdb_devпусть клиент сам решает, что ему с этим UTC делать - приводить к локальному или хавать как естьЯ такой клиент, который не имеет у себя ICU и не может приводить UTC к локальному (да ещё и не местному). Если бы у меня (клиента) был ICU - всего этого топика не было бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:59 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
hvladИбо - да - разработчикам приходится быть умными и таки знать, что они делают. Разработчикам любого продукта, заметь. Судя по репликам в адрес одного из главных разработчиков, ему эта истина неведома )) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:22 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Симонов Денисrdb_dev, перестань маяться фигнёй. В текущей реализации дат с тайм-зонами время и так храниться в UTC + timezone idИ нафиг мне упёрлись эти два байта в каждой записи со временем, которые, при сильной необходимости, можно хранить в отдельном поле, взяв информацию из контекста сессии? Симонов Дениспользователь вводит свою дату. Причём тут текущее время? Ты что там предлагаешь какие-то идиотские пересчёты через текущее время клиента делать?При установке Линуха пользователь тоже вводит свою дату, а установщик, по умолчанию, предполагает, что RTC хранит время в UTC. Как-то же справляется... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:38 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Василий 2, ты сам то fbdevel читал? Адриано вполне обоснованно отстаивает свою реализацию. Единственный разумный контраргумент это зависимость от ICU в Windows. Собственно разумных альтернатив текущей реализации предложено не было, кроме предложения Влада, но там сразу же нашлись противники из стана NET и Java. Так что скорее всего в этом плане ничего не изменится. Хорошо хоть с поиском ICU ситуацию поправили. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:44 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_devИ нафиг мне упёрлись эти два байта в каждой записи со временем, которые, при сильной необходимости, можно хранить в отдельном поле, взяв информацию из контекста сессии?Тебя никто не заставляет пользоваться новыми типами данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:45 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Симонов ДенисТак что скорее всего в этом плане ничего не изменится.Не кажи гоп... (ц) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:46 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_dev, ой как страшно целые 2 байта!!! А ничего, что DECFLOAT(34) требует аж 16 байт? rdb_devПри установке Линуха пользователь тоже вводит свою дату, а установщик, по умолчанию, предполагает, что RTC хранит время в UTC. Как-то же справляется... вы сударь фигню молвите. Пользователь может указать дату с другим (не своим) часовым поясом. И получать дату он может не обязательно в своём часовом поясе ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:48 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
05.07.2019 10:46, hvlad пишет: > Не кажи гоп... (ц) дядюшка Мокус, можно, я кину в них грязью? (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:56 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
hvladЯ хочу записать в БД дату\время '12.5.2024 9:00' по Сингапурскому местному времени. Как мне в этом поможет моё UTC ?Зачем в БД хранить именно Сингапурское время? В этом может быть какой-то особый смысл только в случае, когда необходимо знать из какого часового пояса был клиент, из сессии которого была инициирована в БД запись со штампом времени. hvladrdb_devпусть клиент сам решает, что ему с этим UTC делать - приводить к локальному или хавать как естьЯ такой клиент, который не имеет у себя ICU и не может приводить UTC к локальному (да ещё и не местному). Если бы у меня (клиента) был ICU - всего этого топика не было бы.Венда до WinX как-то справлялась с приведением времени и без icu библиотек - своими силами. Собственно, с этим прекрасно справляется любая нормальная операционная система. Теперь представим ситуацию, что в БД ты записал UTC+сингапурский_id, рассчитанный на 4 года вперёд, а в этой республике за 4 года правительство выкатило постановление об изменении часового пояса и так как, ПРЕДПОЛОЖИМ, администратор сервера или разработчик БД или разработчики СУБД не следили за постановлениями правительства Сингапура и за изменениями IANA таблицы часовых поясов, данные об этих изменениях попали только в регулярно обновляющуюся у сингапурского клиента ОС. И чо? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:59 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
hvladrdb_devИ нафиг мне упёрлись эти два байта в каждой записи со временем, которые, при сильной необходимости, можно хранить в отдельном поле, взяв информацию из контекста сессии?Тебя никто не заставляет пользоваться новыми типами данных.TIMESTAMP WITHOUT TIME ZONE хранит штамп времени в UTC? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:01 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_devTIMESTAMP WITHOUT TIME ZONE хранит штамп времени в UTC? Он хранит то, что ты в него положил. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:07 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_devЗачем в БД хранить именно Сингапурское время? тебя никто не заставляет. Может ты прежде чем свои предположения делать почитаешь стандарт и узнаешь что именно должно храниться в типе TIMESTAMP WITH TIME ZONE. В самом определении типа ясно указано штамп времени с информацией о часовом поясе. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:07 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Симонов Денисой как страшно целые 2 байта!!! А ничего, что DECFLOAT(34) требует аж 16 байт?+2 абсолютно бесполезных, в большинстве случаев, байта на каждую запись. Для хранения чисел с плавающей точкой есть широкий выбор типов данных и, ко всему прочему, в DECFLOAT все биты такого типа используются для необходимой разработчику БД точности числа, но с TIMESTAMP у меня нет такого широкого выбора - нет типа UTCSTAMP на 8 байт. Симонов Денисrdb_devПри установке Линуха пользователь тоже вводит свою дату, а установщик, по умолчанию, предполагает, что RTC хранит время в UTC. Как-то же справляется...вы сударь фигню молвите. Пользователь может указать дату с другим (не своим) часовым поясом. И получать дату он может не обязательно в своём часовом поясеКонечно может! Пользователь выставляет часовой пояс, а ОС предполагает, что RTC хранит UTC и затем для графического отображения локального времени на экране система осуществляет приведение времени из UTC в локальное, в соответствии с выбранным пользователем часовым поясом. Это же очевидно! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:10 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_dev, я тебе ещё раз повторяю. Почитай уже спецификацию TIMESTAMP WITH TIME ZONE. Эта штуковина должна возвращать штамп времени так как он был введён, т.е. локальное время + инфа о часовом поясе. Если нужно иное делают преобразование в другой часовой пояс или локальное время. Если тебе не нужна информация о часовом поясе используй TIMESTAMP WITHOUT TIME ZONE и не морщ нам мозг. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:22 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
кстати, в linux'е есть пакет tzdata. который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время. он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах. и ICU ему для этого нафиг не нужен, вообще-то. мухи отдельно, котлеты отдельно. зы: только что прилетел пакет обновления. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:26 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovrdb_devTIMESTAMP WITHOUT TIME ZONE хранит штамп времени в UTC? Он хранит то, что ты в него положил.И как мне в триггере на добавление/обновление из CURRENT_TIMESTAMP или 'NOW' положить в поле TIMESTAMP WITHOUT TIME ZONE штамп времени в UTC, если в ОС сервера выбран часовой пояс 'Europe/Moscow', да так, чтобы и сервер FirebirdSQL и его клиент - fbclient понимали, что в этом поле имеют дело с UTC? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:27 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Симонов Денис, мне не нужен UTC с двумя байтами часового пояса. Мне нужен просто UTC - 8 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:30 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Мимопроходящийкстати, в linux'е есть пакет tzdata. который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время. он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах. и ICU ему для этого нафиг не нужен, вообще-то. мухи отдельно, котлеты отдельно. зы: только что прилетел пакет обновления.О том и речь! Но пацаны, почему-то, отказываются осознавать, что обновления часовых поясов в ОС прилетают чаще и автоматом, а для обновления информации о часовых поясах на сервере FirebirdSQL придётся делать дополнительные приседания. Вопрос - какие? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:41 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_dev, приводи CURRENT_TIMESTAMP к UTC всего делов-то. Или сделай свою UDR возвращающую UTC. Или попроси встроенную функцию в трекере для возврата UTC. Специального типа для UTC не нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:41 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_dev, 1. вообще-то в массе Windows распространён куда шире Linux 2. Идентификация часовых поясов в Win, Linux, Mac OS может быть сделана по разному. Влад уже говорил, что как минимум в Win и ICU они отличаются. Если делать таблицу соответствия, то поддерживать её это ничуть не лучше обновления ICU 3. Начиная с Win10 ICU встроена в систему и обновляется регулярно 4. В Firebird ICU и так применяется для различных COLLATE, правда до 4.0 она требовалась только на сервере ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:55 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Симонов Денисrdb_dev, 1. вообще-то в массе Windows распространён куда шире Linux 2. Идентификация часовых поясов в Win, Linux, Mac OS может быть сделана по разному. Влад уже говорил, что как минимум в Win и ICU они отличаются. Если делать таблицу соответствия, то поддерживать её это ничуть не лучше обновления ICUОднако, разработчики FirebirdSQL делают сборки для всех этих ОС и я сильно сомневаюсь, что сервер использует исключительно POSIX API и нигде не использует #ifdef с индивидуализацией кода по ОС. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:03 |
|
|
start [/forum/topic.php?fid=40&msg=39834192&tid=1560436]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
372ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 735ms |
0 / 0 |