SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Генераторы в FB4
Генераторы в FB4 [сообщение #326] Mon, 15 August 2022 22:27 Переход к следующему сообщению
shavluk в настоящее время не в онлайне  shavluk
Сообщений: 5
Зарегистрирован: June 2022
Географическое положение: Одеса
Junior Member
Я использую генератор для хранения версии БД.
На fb3 я использую
ALTER SEQUENCE GEN_VERSION RESTART WITH 22081400
Удобно, и когда сохраняю структуру БД в скрипт при помощи IBEScript получаю
CREATE GENERATOR GEN_VERSION START WITH 22081400 INCREMENT BY 1
Но в fb4 скрипт
ALTER SEQUENCE GEN_VERSION RESTART WITH 22081400
меняет только значение генератора, но не меняет в RDB$GENERATORS.RDB$INITIAL_VALUE
В итоге ломается совместимость сохранения версии.
Сейчас я нашел альтернативный вариант
RECREATE SEQUENCE GEN_VERSION START WITH 22081500
Но при наличии зависимостей он не будет работать

Мне кажется ошибкой поведение когда при "RESTART WITH" не меняется значение в RDB$GENERATORS.RDB$INITIAL_VALUE
Re: Генераторы в FB4 [сообщение #330 является ответом на сообщение #326] Wed, 17 August 2022 13:04 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 84
Зарегистрирован: June 2022
Member
RDB$INITIAL_VALUE хранит значение для работы оператора

ALTER SEQUENCE GEN_VERSION RESTART
чтобы он знал куда возвращаться. RESTART WITH не должно сбивать это значение так что тут ошибки нет.
Другое дело что не хватает DDL оператора для изменения RDB$INITIAL_VALUE
Re: Генераторы в FB4 [сообщение #335 является ответом на сообщение #330] Wed, 17 August 2022 22:20 Переход к предыдущему сообщению
shavluk в настоящее время не в онлайне  shavluk
Сообщений: 5
Зарегистрирован: June 2022
Географическое положение: Одеса
Junior Member
Понятно, о таком использовании RESTART я не знал.
Но оператора для смены RDB$INITIAL_VALUE, действительно не хватает
Предыдущая тема: Драйвер для python - возможны ли именованные параметры?
Следующая тема: Проблемное арифметическое выражение
Переход к форуму:
  


Текущее время: Sun Dec 04 02:49:53 MSK 2022

Общее время, затраченное на создание страницы: 0.01267 секунд