dbc.cpp 1.17 KB
Newer Older
1 2
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */
// vim: expandtab:ts=8:sw=4:softtabstop=4:
3
#include <db_cxx.h>
4 5 6

int Dbc::close (void) {
    DBC *dbc = this;
7
    DbEnv *env = (DbEnv*)dbc->dbp->api_internal; // Must grab the env before closing the cursor.
8
    int ret = dbc->c_close(dbc);
9
    return env->maybe_throw_error(ret);
10 11 12 13 14
}

int Dbc::get(Dbt* key, Dbt *data, u_int32_t flags) {
    DBC *dbc = this;
    int ret = dbc->c_get(dbc, key, data, flags);
15 16
    DB_ENV *dbenv_c=dbc->dbp->dbenv;
    DbEnv *env = (DbEnv*)dbenv_c->api1_internal;
17
    return env->maybe_throw_error(ret);
18
}
19

20 21
#if 0
// No longer present (see #4576)
22 23 24 25 26 27 28
int Dbc::del(u_int32_t flags) {
    DBC *dbc = this;
    int ret = dbc->c_del(dbc, flags);
    DB_ENV *dbenv_c=dbc->dbp->dbenv;
    DbEnv *env = (DbEnv*)dbenv_c->api1_internal;
    return env->maybe_throw_error(ret);
}
29
#endif
30

31 32 33 34 35 36 37 38
int Dbc::count(db_recno_t *count, u_int32_t flags) {
    DBC *dbc = this;
    int ret = dbc->c_count(dbc, count, flags);
    DB_ENV *dbenv_c=dbc->dbp->dbenv;
    DbEnv *env = (DbEnv*)dbenv_c->api1_internal;
    return env->maybe_throw_error(ret);
}

39 40 41 42 43
// Not callable, but some compilers require it to be defined anyway.
Dbc::~Dbc()
{
}