LINUX.ORG.RU

GNU dbm 1.14

 ,


2

3

Первым релизом проекта GNU 1-го января 2018-го года стал релиз GNU dbm 1.14 — библиотеки функций для работы с базами данных.

В этом релизе:

  • Введена проверка того, что созданные БД воспроизводимы байт в байт, это также оставило в прошлом 2 ошибки:
    • когда при выделении заголовочных блоков файла БД неиспользуемая память заполняется нулями;
    • когда при расширении mmap'нутой области памяти добавляется область заполненная нулями.
  • Исправлена сборка с опцией --enable-gdbm-export.
  • gdbm_error глобальной переменной потока теперь безопасен.
  • Исправлены все возможные нарушения сегментирования в gdbm_setopt.
  • Исправлена обработка группы заголовков в выводе --help.

>>> Скачать

★★★★

Проверено: maxcom ()

Где примеры кода? Интересно было бы для опыта игру ruletka на С и dbm переписать с сохранением всех возможностей. ХЗ, начну ли...

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

libgdbm используют, например, libaprutil, avahi, courier, sqwebmail, couriergrey, elk, freeradius, fsvs, gnarwl, ifcico, ifgate, rep, magicrescue, maildrop, man-db, metview, modem-manager-gui, nis, perdition, pypy, qsf, sjeng, sortmail,... и т.д.

А нужна эта библиотека для этого:

   GNU dbm (gdbm) is a library of database functions that use extensible hashing and works similar to the standard
   UNIX dbm functions. These routines are provided to a programmer needing to create and manipulate a hashed
   database. (gdbm is NOT a complete database package for an end user.)

   The basic use of gdbm is to store key/data pairs in a data file. Each key must be unique and each key is paired
   with only one data item. The keys can not be directly accessed in sorted order. The basic unit of data in gdbm
   is the structure:
  typedef struct {
             char *dptr;
             int  dsize;
          } datum;

   This structure allows for arbitrary sized keys and data items.

   The key/data pairs are stored in a gdbm disk file, called a gdbm database. An application must open a gdbm
   database to be able manipulate the keys and data contained in the database. gdbm allows an application to have
   multiple databases open at the same time. When an application opens a gdbm database, it is designated as a
   reader or a writer. A gdbm database can be opened by at most one writer at a time. However, many readers may
   open the database simultaneously. Readers and writers can not open the gdbm database at the same time.

saahriktu ★★★★ ()