Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / IBExpert |
![]() ![]() |
o_v_a Member Откуда: Тула Сообщений: 1135 |
В ходе четверговой послеобеденной рефлексии на тему "житие мое..." Разработка у нас переведена на Firebird 3.0. Там идёт и разработка, и тестирование новых фич в том числе и новшеств FB 3.0, но в бой их пока не выпускаем. Это всё в недалёкое будущее делается пока. Может, FB 3.0 даже и пропустим, ждём FB 4.0 с #репликацияизкаропки. Текущие релизы закрываем на 3.0 без использования специфичного для FB 3.0 синтаксиса ( у нас соооовсеееем недавно только с пару-тройку лет как совместимость с 1.5 отпала по ненадобности, всех на 2.5 перетащили). Но у клиентов базы пока крутятся под FB 2.5 и после извлечения метаданных из эталонной базы на FB 3.0 и генерации разностного скрипта между эталонным скриптом и метаданными базы клиента в разностный скрипт таки лезут специфичные для FB 3.0 в отличие от FB 2.5 операторы: GRANT USAGE GRANT EXECUTE ON FUNCTION CREATE GENERATOR XXX START_WITH 0 INCREMENT BY 1 Понятно, что приходится после извлечения метаданных прежде генерации разностных скриптов у клиентов убирать этот специфичный синтаксис. Оно ясно, грабли расставлены и обходимы. Вопрос: не планируется ли в функциональности IBExpert ввести какую-то синтаксическую проверку на совместимость полученного скрипта с версией целевого сервера? Ведь синтаксический анализ в SQL-редакторе учитывается на основе информации о версии сервера в регистрационной информации базы, лишнего не напишешь. А можно как-то прикрутить его к редактору скриптов - к целому скрипту? Тестовое выполнение скрипта на тестовой базе на тестовом сервере не предлагать - это очевидно, ибо так грабли и были пойманы. -- "И это пройдет" |
25 окт 18, 15:50 [21715000] Ответить | Цитировать Сообщить модератору |
IBExpert Member Откуда: От верблюда Сообщений: 3346 |
Теоретически можно, практически парсер в скриптере анализирует операторы очень поверхностно. В SQL редакторе тоже полный синтаксический анализ не делается - пиши, что хочешь. Ну и сравнивать базы с разным синтаксисом - это какое-то садо-мазо. |
||
26 окт 18, 04:12 [21715533] Ответить | Цитировать Сообщить модератору |
o_v_a Member Откуда: Тула Сообщений: 1135 |
Так в том-то и дело, что база-то фактически просто бэкапнутая на 2.5 и ресторнутая на 3.0. Никакого специфического синтаксиса для 3.0 "вручную" специально не прописывалось. Извлечение метаданных и сравнение структуры базы клиента с эталонным скриптом делаю через ibescript. А вылезли вот новшества по правам и по начальным значениям генераторов. Не, я без претензий. Говорю ж - просто по-дедовски поворчать :) Я знал, на что шёл, чай "не первый раз замужем". P.S. С пятницей! |
26 окт 18, 08:28 [21715592] Ответить | Цитировать Сообщить модератору |
Симонов Денис Member Откуда: Рязань Сообщений: 10733 |
o_v_a, IBExpert ну по генераторам, наверное можно и отключить генерацию START_WITH и INCREMENT BY если они стандартные (равно 0 и 1). |
26 окт 18, 08:39 [21715601] Ответить | Цитировать Сообщить модератору |
Ivan_Pisarevsky Member Откуда: НН Сообщений: 8686 |
Что мешает держать эталон на 2.5? А права на все генераторы и эксепшены давать на тестовой трешке паблику. Тупо под конец, принудительно. Ну по крайней мере сам так делаю, тоже в работе 2.5 а тестирую на трешке. |
28 окт 18, 22:32 [21717486] Ответить | Цитировать Сообщить модератору |
o_v_a Member Откуда: Тула Сообщений: 1135 |
Держать-то на 2.5 можно, но на том серваке под линухом 3.0 крутится и сервак достаточно боевой. И у меня на локале тоже 3.0 крутится в спарке с FBDG с бэкапами-тестовыми ресторами. А разбираться как поднять одновременно 2.5 и 3.0 под линухом на разных портах мне откровенно влом и стопорить рабочие сервисы в случае неудачных конфигураций нежелательно. В общем, что имею, то имею. О том и пишу :) Всё в порядке обсуждения - не более. Проблемы все обойдены, срочности нет никакой. |
29 окт 18, 13:54 [21717963] Ответить | Цитировать Сообщить модератору |
Ivan_Pisarevsky Member Откуда: НН Сообщений: 8686 |
|
||
29 окт 18, 20:24 [21718390] Ответить | Цитировать Сообщить модератору |
Все форумы / IBExpert | ![]() |