ВУЗ:
Составители:
31
Библиотека GDBM
GDBM – библиотека функций для работы с хешированной базой данных.
Основная сфера применения GDBM – хранение пар ключ/данные в файле данных.
Каждый ключ должен быть уникальным, каждому ключу должен соответствовать
только одно значение данных. Ключи не могут быть считаны в сортированном порядке.
Модули данных, хранимые в базе данных, задаются с помощью следующей структуры:
typedef struct {
char *dptr;
int dsize;
} datum;
Структура позволяет использовать ключи и данные произвольного размера.
Пары ключ/данные хранятся в дисковом файле, называемом базой данных
gdbm. Приложение должно открыть базу данных прежде чем начать работать с
ключами и данными, включенными в базу данных. Библиотека позволяет приложению
открывать несколько баз данных в один момент времени. Когда приложение открывает
базу данных с правами чтения или записи. В каждый момент времени база данных
может быть открыта только одним приложением, у которого имеются права на запись
или несколькими приложениями с правами на чтение. Открыть одновременно базу
данных различными приложениями на чтение и запись невозможно.
Все функции библиотеки определены в заголовочном файле <gdbm.h>.
Открытие базы данных
GDBM_FILE gdbm_open(char *name, int block_size, int flags,
int mode, void (*fatal_func)())
Функция инициализирует систему gdbm. Если файл имеет нулевой размер,
выполняется процедура инициализации файла, устанавливающая начальную структуру
файла. При вызове задаются следующие параметры:
name Имя файла базы данных.
block_size Используется при инициализации базы данных и задает размер блока
обмена между оперативной памятью и диском. Если задаваемое
значение меньше 512, то используется стандартное значение, иначе
–
задаваемое программой.
flags Поле может принимать следующие значения:
- GDBM_READER – доступ к существующей базе данных в режиме
чтения;
- GDBM_WRITER – доступ к существующей базе данных в режиме
чтения и записи;
- GDBM_WRCREAT – если база не существует, создается новая,
пользователь получает доступ в режиме записи и чтения;
- GDBM_NEWDB – создается новая запись независимо от того
существует ли файл базы данных или нет, пользователь получает
доступ в режиме чтения и записи.
К флагам GDBM_WRITER, GDBM_WRCREAT, GDBM_NEWDB может
быть добавлен флаг GDBM_FAST, которая указывает, что необходимо
записывать данные в базу данных без синхронизации с файлом на
диске. Это увеличивает быстродействие, однако может привести к
неправильным данным в файле в случае возникновения фатальной
ошибки.
mode Режим открытия файла. Идентичен режимам, задаваемым функциями
open и chmod.
Библиотека GDBM
GDBM – библиотека функций для работы с хешированной базой данных.
Основная сфера применения GDBM – хранение пар ключ/данные в файле данных.
Каждый ключ должен быть уникальным, каждому ключу должен соответствовать
только одно значение данных. Ключи не могут быть считаны в сортированном порядке.
Модули данных, хранимые в базе данных, задаются с помощью следующей структуры:
typedef struct {
char *dptr;
int dsize;
} datum;
Структура позволяет использовать ключи и данные произвольного размера.
Пары ключ/данные хранятся в дисковом файле, называемом базой данных
gdbm. Приложение должно открыть базу данных прежде чем начать работать с
ключами и данными, включенными в базу данных. Библиотека позволяет приложению
открывать несколько баз данных в один момент времени. Когда приложение открывает
базу данных с правами чтения или записи. В каждый момент времени база данных
может быть открыта только одним приложением, у которого имеются права на запись
или несколькими приложениями с правами на чтение. Открыть одновременно базу
данных различными приложениями на чтение и запись невозможно.
Все функции библиотеки определены в заголовочном файле .
Открытие базы данных
GDBM_FILE gdbm_open(char *name, int block_size, int flags,
int mode, void (*fatal_func)())
Функция инициализирует систему gdbm. Если файл имеет нулевой размер,
выполняется процедура инициализации файла, устанавливающая начальную структуру
файла. При вызове задаются следующие параметры:
name Имя файла базы данных.
block_size Используется при инициализации базы данных и задает размер блока
обмена между оперативной памятью и диском. Если задаваемое
значение меньше 512, то используется стандартное значение, иначе –
задаваемое программой.
flags Поле может принимать следующие значения:
- GDBM_READER – доступ к существующей базе данных в режиме
чтения;
- GDBM_WRITER – доступ к существующей базе данных в режиме
чтения и записи;
- GDBM_WRCREAT – если база не существует, создается новая,
пользователь получает доступ в режиме записи и чтения;
- GDBM_NEWDB – создается новая запись независимо от того
существует ли файл базы данных или нет, пользователь получает
доступ в режиме чтения и записи.
К флагам GDBM_WRITER, GDBM_WRCREAT, GDBM_NEWDB может
быть добавлен флаг GDBM_FAST, которая указывает, что необходимо
записывать данные в базу данных без синхронизации с файлом на
диске. Это увеличивает быстродействие, однако может привести к
неправильным данным в файле в случае возникновения фатальной
ошибки.
mode Режим открытия файла. Идентичен режимам, задаваемым функциями
open и chmod.
31
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »
