Man Linux: Main Page and Category List

NAME

       cdbmake - create a constant database

SYNOPSIS

       cdbmake cdb cdb.tmp

DESCRIPTION

       cdbmake  reads  a series of encoded records from its standard input and
       writes a constant database to cdb.

       cdbmake ensures that cdb is updated atomically, so programs reading cdb
       never  have  to  wait  for  cdbmake  to  finish.  It does this by first
       writing the database to cdb.tmp and then moving cdb.tmp on top of  cdb.
       If cdb.tmp already exists, it is destroyed.  The directories containing
       cdb.tmp and cdb must be writable to cdbmake; they must also be  on  the
       same filesystem.

       cdbmake always makes sure that cdb.tmp is safely written to disk before
       it replaces cdb.  If the input is in a bad format or if cdbmake has any
       trouble  writing  cdb.tmp  to  disk,  cdbmake  complains and leaves cdb
       alone.

   RECORD FORMAT
       Records are indexed by keys.  A key is a string.  cdb is structured  so
       that  another  program,  starting  from  a  key,  can  quickly find the
       relevant record.  cdbmake allows several records  with  the  same  key,
       although  most  readers  take  only the first record, and cdbmake slows
       down somewhat if there are many records with the same key.

       cdbmake and cdbdump(1) preserve the order of records.

       A record is encoded for cdbmake as +klen,dlen:key->data followed  by  a
       newline.   Here  klen  is  the  number  of bytes in key and dlen is the
       number of bytes in data.  The end of data  is  indicated  by  an  extra
       newline.  For example:

         +3,5:one->Hello
         +3,7:two->Goodbye

       key  and  data  may  contain  any characters, including colons, dashes,
       newlines, and nulls.

       Keys and data do not have to fit into memory.  A database cannot exceed
       4 gigabytes.

       cdb is portable across machines.

SEE ALSO

       cdbdump(1), cdbget(1), cdbstats(1)

                                                                    cdbmake(1)