DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(gdbm.info.gz) Store

Info Catalog (gdbm.info.gz) Close (gdbm.info.gz) Top (gdbm.info.gz) Fetch
 
 Inserting and replacing records in the database.
 ************************************************
 
    The function `gdbm_store' inserts or replaces records in the
 database.
 
      ret = gdbm_store(dbf, key, content, flag);
 
    The parameters are:
 
 GDBM_FILE dbf
      The pointer returned by `gdbm_open'.
 
 datum key
      The `key' data.
 
 datum content
      The data to be associated with the key.
 
 int flag
      Defines the action to take when the key is already in the
      database. The value GDBM_REPLACE (defined in `gdbm.h') asks that
      the old data be replaced by the new `content'. The value
      GDBM_INSERT asks that an error be returned and no action taken if
      the `key' already exists.
 
    The values returned in `ret' are:
 
 -1
      The item was not stored in the database because the caller was not
      an official writer or either `key' or `content' have a NULL dptr
      field.  Both `key' and `content' must have the dptr field be a
      non-NULL value.  Since a NULL dptr field is used by other
      functions to indicate an error, a NULL field cannot be valid data.
 
 +1
      The item was not stored because the argument `flag' was
      GDBM_INSERT and the `key' was already in the database.
 
 0
      No error. `content' is keyed by `key'. The file on disk is updated
      to reflect the structure of the new database before returning from
      this function.
 
    If you store data for a `key' that is already in the data base,
 `gdbm' replaces the old data with the new data if called with
 GDBM_REPLACE. You do not get two data items for the same `key' and you
 do not get an error from `gdbm_store'.
 
    The size in `gdbm' is not restricted like `dbm' or `ndbm'. Your data
 can be as large as you want.
 
Info Catalog (gdbm.info.gz) Close (gdbm.info.gz) Top (gdbm.info.gz) Fetch
automatically generated byinfo2html