Berkeley DB: DBcursor->c_del
Полезная информация


#include <db.h>

int DBcursor->c_del(DBC *cursor, u_int32_t flags);


The DBcursor->c_del function deletes the key/data pair currently referenced by the cursor.

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 reference 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 the value of errno on failure, and 0 on success.


If a fatal error occurs in Berkeley DB, the DBcursor->c_del function may fail and return DB_RUNRECOVERY, at which point all subsequent database calls will also return DB_RUNRECOVERY.

The DBcursor->c_del function may fail and return errno for any of the errors specified for the following Berkeley DB and C library functions: __account_page(3), dbenv->db_paniccall(3), fflush(3), fprintf(3), free(3), func(3), lock_get, lock_put, lock_vec, log_put, malloc(3), memcpy(3), memmove(3), memp_fget, memp_fput, memp_fset, memset(3), realloc(3), strerror(3), vfprintf(3), and vsnprintf(3).

In addition, the DBcursor->c_del function may fail and return errno for the following conditions:

A lock was unavailable.

An invalid flag value or parameter was specified.

See Also

db_appexit, db_appinit, db_version, DB->close, DB->cursor, DB->del, DB->fd, DB->get, db_open, DB->put, DB->stat, DB->sync, DBcursor->c_close, DBcursor->c_del, DBcursor->c_get and DBcursor->c_put.