Next: About this document ...
Up: Функции для работы с
Previous: Функция закрытия базы данных
Contents
Функция служит для получения значения конкретного поля структуры в
зависимости от вторичной базы данных.
Прототип функции:
int universal_key_extractor(DB *secondary_db, const DBT *primary_key,
const DBT *primary_data, DBT *secondary_key)
Необходима для связывания основной и вторичных баз данных.
Для нормальной работы BerkeleyDB возвращаемое значение функции должно равняться 0.
Схема работы функции:
- Получение ссылки на структуру attribute_description (описание атрибута)
из поля app_private вторичной базы данных secondary_db.
- Получение длины поля(length) и смещения(offset) из структуры
attribute_description для нужного поля.
- Обнуление структуры secondary_key.
- Копируем length байт начиная со смещения offset из primary_key->data в
secondary_key->data.
- Устанавливаем значение secondary_key->size равным length + 1
(терминальный 0 тоже является частью строки).
- Возвращаем 0.
Aleks Sherikov
2006-05-23