Утилита REB.

Выполняет перестройку структуры базы данных на основе текстового описания структуры в DBS-файлах или на основе получения готовой структуры из файла-шаблона. С помощью REB можно создавать новые файлы БД, удалять или менять структуру существующих файлов БД. В последнем случае содержимое этих файлов приводится к новой структуре.

Синтаксис вызова утилиты REB:

V32 -Reb[uild] <Имя_базы> {<Ключ>}

Допустимые ключи:

Чтобы внешняя программа могла прервать работу REB, он создает объект синхронизации типа Event с именем, состоящим из подстрок "Event_Stop_Rebuild_0x" и <16-ричного идентификатора собственного процесса без лидирующих нулей>. Этот Event изначально не сигналит. Если любая внешняя программа откроет этот Event и переведет его в сигнальное состояние, то REB прекратит работу (откатится). Код завершения программы будет 1, в ERH-файл и стандартный вывод ошибок (в обычном случае на экран) попадет текст "Выполнение Rebuild прервано".

Возможные коды завершения программы REB

Для выполнения REB надо иметь специальные права.

Если создается новое немассивовое поле NEW, имя которого совпадает с будущим именем существовавшего (массивового) поля WAS, то поле NEW заполняется значением соответствующего элемента массива поля WAS.

Утилита REB в начале своей работы ожидает, пока в проекте не останется ни одного подключения. Новые подключения к проекту на протяжении всей работы REB запрещены - пользователь получает соответствующее сообщение типа "ждите". Исключение составляет пользователь, запустивший REB на выполнение - ему разрешено подключаться к проекту до момента, пока в проекте имеется хотя бы одно подключение (не считая самого REB).