int open_databases(const char *db_dir_path_path, const char db_open_mode, struct attribute_db *attrib_db, struct db_description * primary_db_descr);
Получаемые параметры:
Имя директории в которую будут помещены файлы баз данных BerkeleyDB.
Режим открытия БД.
Структуры содержащие дескрипторы БД.
Возможные режимы открытия БД:
ВАЖНО: Вторичные базы данных должны открываться только после УСПЕШНОГО
открытия первичной БД.
Функция при завершении своей работы возвращает, вызывающей
подпрограмме число, определяемое следующими определёнными в
заголовочном файле stdlib.h константами:
EXIT_SUCCESS при успешном завершении.
EXIT_FAILURE при ошибке в работе.
Схема работы функции:
Если не удалось, то возвращаем EXIT_FAILURE.
a) Инициализировать дескриптор вторичной БД.
b) Открываем вторичную БД, если не удалось, то возвращаем EXIT_FAILURE.
c) В app_private(поле структуры DB) вторичной БД заносим указатель на соответствующую этому полю(индексируемому в этой базе) структуру attribute_description.
e) Связываем БД с соответствующим полем первичной БД методом associate, если не удалось, то возвращаем EXIT_FAILURE.