GNU Info

Info Node: (gdbm.info)Store

(gdbm.info)Store


Next: Fetch Prev: Close Up: Top
Enter node , (file) or (file)node

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.


automatically generated by info2www version 1.2.2.9