LINUX.ORG.RU

GNU dbm 1.9

 


0

2

Новая версия 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 для создания, правки, просмотра и экспорта файлов баз данных;
  • разработан набор тестов;
  • улучшена документация.

>>> Исходный код

>>> Анонс

★★★★★

Проверено: Shaman007 ()
Последнее исправление: adriano32 (всего исправлений: 5)

>Instead of linking pag to dir as previous versions did, GDBM now creates a separate dir file. Consequently, dbm_pagfno and dbm_dirfno return different file descriptors. When opening an existing database as a writer, GDBM determines if dir is linked to pag, and if so breaks the link and creates a new dir file. When such a database is opened in a read-only mode, GDBM does not attempt to alter the link;

LINUX.ORG.RU — Русская информация об ОС Linux

Ну ты понял.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

Я не очень хорошо понимаю, как правильно перевести эти несколько предложений. Был бы признателен, если бы мне помогли.

anarquista ★★★★★
() автор топика
Ответ на: комментарий от anarquista

>Я не очень хорошо понимаю, как правильно перевести эти несколько предложений.

Как-то так:

Вместо создания ссылки с pag на dir, как делали предыдущие версии, GDBM стал создавать отдельный файл для dir. Следовательно, dbm_pagfno и dbm_dirfno возвращают разные файловые дескрипторы. При открытии существующей базы данных для записи GDBM определяет, не является ли pag ссылкой на dir, а если является, то удаляет ссылку и создаёт вместо неё новый файл dir. Когда такая база данных открывается в режиме только для чтения, GDBM не пытается изменить ссылку;

Возможно, для pag и dir есть нормальные русские имена, но я не знаю их.

gentoo_root ★★★★★
()

хренею я с таких релизов

--- gdbm-1.9/src/gdbmopen.c.orig	2011-08-11 01:52:24.000000000 +0300
+++ gdbm-1.9/src/gdbmopen.c	2011-08-13 17:15:07.745999269 +0300
@@ -27,7 +27,7 @@
 #define GDBM_MAGIC	GDBM_MAGIC32
 #elif SIZEOF_OFF_T == 8
 #define GDBM_MAGIC	GDBM_MAGIC64
-#elif
+#else
 #error "Unsupported off_t size, contact GDBM maintainer.  What crazy system is this?!?"
 #endif
 
ananas ★★★★★
()
Ответ на: комментарий от adriano32

>Это dir-файл индексов был раньше ссылкой на pag-файл данных, а не наоборот.

Да, точно, «linking pag to dir», значит, dir указывает на pag, потому что pag прилинкован к dir. Что-то с утра не распарсил правильно.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

gentoo_root (13.08.2011 18:10:56)

>>Что-то с утра не распарсил правильно.

А как давно Харьков перенесли в другой часовой пояс? :)

adriano32 ★★★
()
Ответ на: комментарий от gentoo_root

Срочно верни планки DIMM SDRAM дедушке и машину времени maxcom'y!

adriano32 ★★★
()

А вот и вышел GNU dbm 1.9.1. Пофиксили минорные баги обнаруженные сразу после выхода 1.9

kim-roader ★★
()

Это только hash key-value store? B+tree нет?

pitekantrop ★★★
()
Ответ на: комментарий от Dark_SavanT

> библиотеки с LGPL лицензией - зло.

Аргументы будут или так, просто вбросить захотелось?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.