The Dbc::del method deletes the key/data pair to which the cursor
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
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
If the element has already been deleted, the Dbc::del method 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.
The Dbc::del method may fail and throw an exception or return a non-zero error for the following conditions:
- A secondary index references a nonexistent primary key.
- An attempt was made to modify a read-only database.
- An invalid flag value or parameter was specified.
- Write attempted on read-only cursor when the DB_INIT_CDB flag was
specified to DbEnv::open.
If the operation was selected to resolve a deadlock, the
Dbc::del method will fail and
and either return DB_LOCK_DEADLOCK or
throw a DbDeadlockException exception.
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 a
in which case all subsequent Berkeley DB calls will fail in the same way.
Database Cursors and Related Methods
Copyright Sleepycat Software