Man pages на русском

         

Dbminit, fetch, store, delete, firstkey, nextkey


НАЗВАНИЕ

dbminit, fetch, store, delete, firstkey, nextkey - Подпрограммы БД

СИНТАКСИС

typedef struct { char *dptr; int dsize; } datum;

dbminit(file) char *file;

datum fetch(key) datum key;

store(key,content) datum key,content;

delete(key) datum key;

datum firstkey()

datum nextkey(key) datum key;

dbmclose()

ОПИСАНИЕ

Все указанные функции работают в базе данных с парами значений "ключ-содержимое". Они способны манипулировать с очень большими (в миллиард блоков) базами данных и адресоваться к ключевым данным за одно или два обращения к файловой системе. Доступ к функциям открывается через опцию загрузчика -ldbm. "Ключи" (keys) и "содержимое" (contents) описываются типом datum. Этому типу соответствует строка размером dsize, на которую указывает указатель dptr. Допустимы как строки в формате ASCII, так и произвольные двоичные данные. База данных располагается в двух файлах. Один файл представляет собой каталог с битовым массивом и расширением .dir. Вся остальная информация содержится во втором файле с расширением .pag. Для того, чтобы база данных стала доступной, она должна быть открыта функцией dbminit. К моменту вызова этой функции файлы с расширениями .dir и .pag должны существовать. (Пустая БД создается с пустыми файлами.)

После открытия к данным, хранящимся под ключом, открывается доступ по fetch; запоминаются под ключом они с помощью store. Ключ (и связанное с ним содержимое) удаляется подпрограммой delete. Разрешен простой перебор всех ключей, хранящихся в базе, в практически произвольном порядке с помощью функций firstkey и nextkey. Функция firstkey возвращает первый ключ в БД. Для любого ключа в БД функция nextkey возвращает следующее по порядку значение ключа. Программа перебора ключей в БД:

for (key=firstkey(); key.dptr!=NULL; key=nextkey(key))

Закрытие БД производится функцией dbmclose. БД должна закрываться перед открытием новой.

ДИАГНОСТИКА

Все функции, возвращающие значения типа int, сообщают об ошибках отрицательными значениями. Код возврата, равный 0, означает успех. Подпрограммы, возвращающие значения типа datum, сообщают об ошибках нулевым значением указателя dptr.

ЗАМЕЧАНИЯ



Содержание раздела