Dbc::del
|
|
#include <db_cxx.h>
int
Dbc::del(u_int32_t flags);
Description
The Dbc::del method 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 method, the Db::del method
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, Dbc::del will return
DB_KEYEMPTY.
If the cursor is not yet initialized, the Dbc::del method either returns EINVAL or throws an exception that encapsulates EINVAL.
Otherwise, the Dbc::del method either returns a non-zero error value or throws an exception that
encapsulates a non-zero error value on failure, and returns 0 on success.
Errors
The Dbc::del method may fail and throw an exception or 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 DbEnv::open.
The Dbc::del method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods.
If a catastrophic error has occurred, the Dbc::del method may fail and either
return DB_RUNRECOVERY or throw an exception encapsulating
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.
Class
Dbc
See Also
Dbc::close,
Dbc::count,
Dbc::del,
Dbc::dup,
Dbc::get,
Dbc::pget,
and
Dbc::put.
Copyright Sleepycat Software
|