powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
25 сообщений из 371, страница 2 из 15
ANN Выпущен Firebird 4!
    #40074765
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
на LOCALTIMESTAMP надо было перелопачивать ещё в 3.0.4 или 2.5.9.
Я уже давно это сделал

Ну, поздравляю, я - нет. У меня даже исходников всех нет (некоторые клменты сами что-то дописывают в своих одинэсах и прочем). И если говорить о 3.0 - их зоопарк, тысячи установок. Т.е., оказывается, везде где < 3.0.4 надо еще и ФБ обновлять :(

Симонов Денис
Впрочем

Код: sql
1.
2.
3.
4.
5.
6.
7.
execute block
returns (t timestamp without time zone)
as
begin
  t = current_timestamp;
  suspend;
end




выдаёт правильное время


Это не поможет. В основном CURRENT_TIMESTAMP используется в селектах (в условиях), инсертах, апдейтах... Если поле будет с доменом с "without time zone" - оно правильно сконвертит? Впрочем, всё равно всё переделывать, даже если да.

hvlad
YuRock
Или всё перелопачивать надо, отказываясь при этом от версий ниже 3.0, в котором есть LOCAL_TIMESTAMP?
Насколько я помню, LOCALTIME[STAMP] портировали в 2.5.9 тоже
У меня нет 2.5 (я на него не переходил), только 2.1 и 3.0.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074767
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Шавлюк Евгений,

README.set_bind.md`DataTypeCompatibility` is minor firebird version for which we want to provide some compatibility
regarding data types. That compatibility may be not absolute - for example SET BIND can't care about type
of particular SQL functions. The following types will be described in legacy form when `DataTypeCompatibility=3.0`:
DECFLOAT, INT128 and TIME(STAMP) WITH TIME ZONE. When `DataTypeCompatibility=2.5` in addition to this list
BOOLEAN will be described as legacy type as well.
тут вроде всё сказаноА, так DataTypeCompatibility убирает TIME ZONE и CURRENT_TIMESTAMP становится равным LOCAL_TIMESTAMP?
Если да - то отлично.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074800
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

DataTypeCompatibility влияет только при передачи данных на клиента. В режиме совместимости тип трансформируется в тип без часового пояса.

Внутри сервера чуток иначе. DataTypeCompatibility там не играет рояли.
Если я правильно понял то при сравнении without с with, without приводится к типу с часовым поясом. А при присваивании конвертируется к типу в левой части выражения.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074810
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
DataTypeCompatibility влияет только при передачи данных на клиента. В режиме совместимости тип трансформируется в тип без часового пояса.

Внутри сервера чуток иначе. DataTypeCompatibility там не играет рояли.
Ну вот. Значит, в итоге DataTypeCompatibility только каши добавит

Не говоря уж о том, что если есть желание использовать на клиенте (не у меня пока, но вообще) decfloat, но нет - таймзоны.

Очень нужна настройка сервера, отключающая таймзоны полностью.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074815
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кто-то невнимательно читал RN, то четвёрка умеет "хостить" движок тройки.
Т.е. на одном экземпляре сервера можно продолжать обслуживать базы тройки и экспериментировать с базами четвёрки.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074817
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Если кто-то невнимательно читал RN, то четвёрка умеет "хостить" движок тройки.
Т.е. на одном экземпляре сервера можно продолжать обслуживать базы тройки и экспериментировать с базами четвёрки.
Это не поможет. У меня одна база при тысячах установок.
1. Т.е. мне надо установить везде 4-ку, установить параметр "Использовать 4-ку как 3-ку для этой базы";
2. Перелопатить свои программы и эту базу (заменить везде CURRENT на LOCAL), обновить везде программу и базу;
3. Установить везде параметр "Использовать 4-ку как 4-ку".

Тут не двойная работа даже, а тройная.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074819
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

не надо ничего отключать. Я же сказал типы внутри движка конвертируются при сравнении и присваивании.

Сравнивать на равенство с CURRENT_TIMESTAMP / LOCALTIMESTAMP вряд ли потребуется.

А вот всякие

Код: sql
1.
2.
3.
select *
from t
where bydate > current_timestamp



могут вырубить использование индекса по bydate, если bydate без часового пояса. Так что на localtimestamp в таких местах лучше переписать.

При присваивании вообще нет никаких проблем
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074832
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
не надо ничего отключать. Я же сказал типы внутри движка конвертируются при сравнении и присваивании.

Сравнивать на равенство с CURRENT_TIMESTAMP / LOCALTIMESTAMP вряд ли потребуется.

Не понял, к чему это


Симонов Денис
А вот всякие

Код: sql
1.
2.
3.
select *
from t
where bydate > current_timestamp




могут вырубить использование индекса по bydate, если bydate без часового пояса

О ужас :(

Симонов Денис
При присваивании вообще нет никаких проблем

Кроме главной: на глаз неизвестно, что там присвоится. И сколько и где таких присвоений.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074838
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

с чего бы это неизвестно. Время преобразуется из часового пояса сеанса в локальное.
Если вам надо обязательно в часовом поясе сервера, то в onconnect триггере это легко можно установить.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074852
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Это не поможет. У меня одна база при тысячах установок.
Так речь и не о промышленной эксплуатации, а про разработку и тестирование.

P.S.
Нет там "параметра". Есть настройки в firebird.conf и databases.conf
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074857
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

только смысла в этом мало. БД с движком от тройки это практически та же самая тройка. Новых возможностей никаких.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074859
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
01.06.2021 19:01, Симонов Денис пишет:
> БД с движком от тройки это практически та же самая тройка.
> Новых возможностей никаких.

а нафига вообще задумка сия?
в чем сокрыт сакральный смысл этих перегружаемых энжайнов?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074860
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

видимо чтобы на одном инстансе выполнять
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074864
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
в onconnect триггере это легко можно установить.
Не так уж легко.
У меня единый скрипт для создания базы (и скрипты обновлений), для разных версий ФБ. И я хочу, чтобы так и оставалось впредь.
Если сделать костыль с EXECUTE STATEMENT в зависимости от версии ФБ, то встает вопрос, как заставить не забыть выполнить этот апдейт того, кто решит обновить версию сервера до 4, после обновления. Делать проверку наличия этого триггера во всех программах при запуске - не хочется.

Можно, конечно, попробовать сам триггер сделать везде, а уже в нём делать костыль с EXECUTE STATEMENT в зависимости от версии ФБ... Но не нравится мне такое...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074926
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
только смысла в этом мало. БД с движком от тройки это практически та же самая тройка. Новых возможностей никаких.
Согласись, что гораздо удобнее обновить сервер, продолжать хостить тройку и плавно мигрировать базы на четвёрку, чем делать два разных экземляра и переносить всё чохом.
Да, для одной базы на сервере смысла всё равно мало, но если их несколько или даже несколько десятков - смысл появляется.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074928
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
У меня единый скрипт для создания базы (и скрипты обновлений), для разных версий ФБ. И я хочу, чтобы так и оставалось впредь.
Какой движок обслуживает конкретную базу - разруливается на уровне псевдонима этой базы.
Т.е. можно не торопясь обновлять сервера на четвёрку, продолжая работать с базами тройки и спокойно решать вопросы миграции.
Да, процесс не быстрый, но, вроде как, никто не собирается закрывать (собственный) бизнес? Наверное, наоборот - хочется, чтобы дело продолжало приносить прибыль ещё долгие годы?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074958
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь из дельфистов планирует мигрировать на FB4.0?
Расскажите, пожалуйста, каким образом вы собираетесь это сделать и ради каких новых возможностей.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074970
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь классик в четверке тестировал с большим количеством соединений?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074973
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

я планирую. Новые типы мне пока до лампочки.

Из того что точно буду использовать:
- асинхронную логическую репликацию
- тайм-аут простоя соединения. Чтобы вырубать тех кто прогу запущенной на ночь оставляет, а сам не работает
- LATERAL
- улучшения в оконных функциях (фреймы, именованные окна)
- новые security фичи (роли по умолчанию, SQL SECURITY DEFINER)

А ещё промежуточная сборка мусора, сама по себе очень полезная и нужная.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075010
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ё-МОЁ!!!!
Я уж надежду потерял, а тут на тебе - релиз!... Был бы рядом - обнял.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075137
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А клиент от трёшки пойдёт? Или надо переставлять? Пока у клиентов (пользователей) двухзвенка. Пора готовить.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075154
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

подойдёт, но желательно чтобы версия была не меньше 3.0.4.
Ну и при условии DataTypeCompatibility = 3.0
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075363
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А возможность сменить тип у обычного поля на GENERATED ALWAYS AS IDENTITY или GENERATED BY DEFAULT AS IDENTITY когда-нибудь подъедет?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075385
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
KreatorXXI,

подойдёт, но желательно чтобы версия была не меньше 3.0.4.
Ну и при условии DataTypeCompatibility = 3.0

"Не меньше 3.0.4" не гарантирую. А в чём проблема? Версию сервера меняют, а вот клиента вряд ли переставляют. Мы с трудом добились, что с двойки ушли. И то не факт.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075399
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI"Не меньше 3.0.4" не гарантирую. А в чём проблема?
читать не хочется? видимо, проблема в этом.
http://www.ibase.ru/files/firebird/fb4migrationshort.pdf
страница 12, "Новые типы данных"

"Для старых клиентских библиотек и приложений вы можете установить режим совместимости типов, однако это не поможет внутри хранимых процедур, функций и триггеров. Вам необходимо использовать выражения LOCALTIMESTAMP и LOCALTIME вместо CURRENT_TIMESTAMP и CURRENT_TIME там где вы не хотите получить типы данных с часовыми поясами. Данные выражения специально были введены в корректирующих релизах Firebird 2.5.9 и Firebird 3.0.4, чтобы вы заранее могли подготовить свои базы данных для миграции на Firebird 4.0."
...
Рейтинг: 0 / 0
25 сообщений из 371, страница 2 из 15
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]