          MODULE=qdbm
         VERSION=1.8.78
          SOURCE=$MODULE-$VERSION.tar.gz
   SOURCE_URL[0]=$SFORGE_URL/qdbm/$VERSION/
   SOURCE_URL[1]=http://fallabs.com/qdbm/
      SOURCE_VFY=sha1:8c2ab938c2dad8067c29b0aa93efc6389f0e7076
        WEB_SITE=http://fallabs.com/qdbm/index.html
         ENTERED=20090128
         UPDATED=20101212
           SHORT="library of routines for managing a database"

cat << EOF
QDBM is a library of routines for managing a database. The database is a simple
data file containing records, each is a pair of a key and a value. Every key
and value is serial bytes with variable length. Both binary data and character
string can be used as a key and a value. There is neither concept of data tables
nor data types. Records are organized in hash table or B+ tree.

As for database of hash table, each key must be unique within a database, so it
is impossible to store two or more records with a key overlaps. The following
access methods are provided to the database: storing a record with a key and a
value, deleting a record by a key, retrieving a record by a key. Moreover,
traversal access to every key are provided, although the order is arbitrary.
These access methods are similar to ones of DBM (or its followers: NDBM and
GDBM) library defined in the UNIX standard. QDBM is an alternative for DBM
because of its higher performance. As for database of B+ tree, records whose
keys are duplicated can be stored. Access methods of storing, deleting, and
retrieving are provided as with the database of hash table. Records are stored
in order by a comparing function assigned by a user. It is possible to access
each record with the cursor in ascending or descending order. According to this
mechanism, forward matching search for strings and range search for integers are
realized. Moreover, transaction is available in database of B+ tree.

QDBM is written in C, and provided as APIs of C, C++, Java, Perl, and Ruby. QDBM
is available on platforms which have API conforming to POSIX. QDBM is a free
software licensed under the GNU Lesser General Public License.
EOF
