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


#include <db.h>

int DBcursor->c_close(DBC *cursor);


The DBcursor->c_close function discards the cursor.

It is possible for the DBcursor->c_close function to return EAGAIN, signaling that any enclosing transaction should be aborted. If the application is already intending to abort the transaction, this error should be ignored, and the application should proceed.

Once DBcursor->c_close has been called, regardless of its return, the cursor handle may not be used again.

The DBcursor->c_close function returns the value of errno on failure, and 0 on success.


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

The DBcursor->c_close function may fail and return errno for any of the errors specified for the following Berkeley DB and C library functions: __account_page(3), dbc->c_am_close(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_close function may fail and return errno for the following conditions:

A lock was unavailable.

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.