В таком случае надо на исходной базе выполнить в окне SQL редактора команду:
DELETE FROM fin_versioninfo WHERE id > 112Затем подключиться к ней новейшей версией gedemin.exe (всегда можно скачать с нашего сайта) и дождаться окончания обновления структуры базы данных. В процессе обновления будут пересозданы все процедуры и триггеры интервальных деревьев.
После этого базу можно архивировать.
Почему проблемная процедура создается без ошибок при загрузке настройки -- вопрос к создателям Firebird.
Особое внимание разработчикам! Все настройки с интервальными деревьями должны быть пересохранены после обновления структуры базы данных.
4 комментария:
Видел другую проблему. Таблица интервальное дерево, процедуры нормальные (самые новые). Не работала перестройка дерева (процедура restruct), ругалась что вставляется не уникальное значение, в уникальный индекс по LB-RB. В итоге удалил индекс, запустил процедуру, создал индекс. Мистика...
Согласен с Xander. Только это принесло решение. Первый вариант не работает
Только можно не удалять а просто отключить уникальность, выполнить процедуру, включить назад. и для очистки совести снова выполнить.
Уникальных индексов в интервальном дереве по LB, RB быть НЕ ДОЛЖНО. С уникальными индексами процесс реструктуризации дерева в общем случае не пройдет.
http://gsbelarus.com/gs/wiki/index.php/Инфраструктура_интервальных_деревьев
В процессе апгрейда БД уникальные индексы (если они были) удаляются и те, что надо, -- создаются.
Отправить комментарий