DBcursor->c_del
|
|
#include <db.h>
int
DBcursor->c_del(DBC *cursor, u_int32_t flags);
Description
The DBcursor->c_del function deletes the key/data pair to which the cursor
refers.
When called on a cursor opened on a database that has been made into a
secondary index using the DB->associate function, the DB->del function
deletes the key/data pair from the primary database and all secondary
indices.
The flags parameter is currently unused, and must be set to 0.
The cursor position is unchanged after a delete, and subsequent calls to
cursor functions expecting the cursor to refer to an existing key will
fail.
If the element has already been deleted, DBcursor->c_del will return
DB_KEYEMPTY.
If the cursor is not yet initialized, the DBcursor->c_del function will return EINVAL.
Otherwise, the DBcursor->c_del function returns a non-zero error value on failure and 0 on success.
Errors
The DBcursor->c_del function may fail and return a non-zero error for the following conditions:
- DB_LOCK_DEADLOCK
- The operation was selected to resolve a deadlock.
- DB_SECONDARY_BAD
- A secondary index references a nonexistent primary key.
- EACCES
- An attempt was made to modify a read-only database.
- EINVAL
- An invalid flag value or parameter was specified.
- EPERM
- Write attempted on read-only cursor when the DB_INIT_CDB flag was
specified to DB_ENV->open.
The DBcursor->c_del function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DBcursor->c_del function may fail and return
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.
See Also
DBcursor->c_close,
DBcursor->c_count,
DBcursor->c_del,
DBcursor->c_dup,
DBcursor->c_get,
DBcursor->c_pget,
and
DBcursor->c_put.
Copyright Sleepycat Software
|