Новая версия GNU dbm 1.9, GNU-аналога традиционной библиотеки UNIX dbm, содержащей функции для работы с базами данных, вышла 12 августа и доступна для загрузки.
Изменения:
- для увеличения скорости операций ввода-вывода используется вызов mmap (2), если возможно; нововведение можно отключить на стадии компиляции с помощью опции конфигурации --disable-memory-mapped-io или во время выполнения, установив флаг GDBM_NOMMAP при вызове функции gdbm_open;
- наконец исправлены давнишние ошибки в режиме совместимости ndbm, из-за которых GDBM не мог использоваться в связке с Sendmail и Postfix;
- ни функции режима совместимости ndbm, ни функции GDBM более не блокируют свои файлы;
- теперь GDBM создаёт отдельный индексный dir-файл вместо создания ссылки с индексного dir-файла на pag-файл данных, как в предыдущих версиях:
- как следствие, dbm_pagfno и dbm_dirfno отныне возвращают разные файловые дескрипторы;
- при открытии существующей базы данных для чтения/записи последней версией GDBM существующий dir-файл, если является ссылкой на pag-файл, удаляется, а взамен его создаётся новый индексный dir-файл;
- при открытии существующей базы данных последней версией GDBM только для чтения вышеописанная операция не выполняется;
- в функции gdbm_setopt добавлены новые опции для определения таких параметров базы данных как имя файла, использование mmap-памяти и др.;
- в стандартную поставку GDBM включено интерактивное приложение Testgdbm для создания, правки, просмотра и экспорта файлов баз данных;
- разработан набор тестов;
- улучшена документация.
>>> Исходный код
>>> Анонс