.html">Db::put, Db::remove, Db::rename, Db::set_alloc, Db::set_append_recno, Db::set_bt_compare, Db::set_bt_minkey, Db::set_bt_prefix, Db::set_cachesize, Db::set_dup_compare, Db::set_errcall, Db::set_errfile, Db::set_errpfx, Db::set_feedback, Db::set_flags, Db::set_h_ffactor, Db::set_h_hash, Db::set_h_nelem, Db::set_lorder, Db::set_pagesize, Db::set_paniccall, Db::set_q_extentsize, Db::set_re_delim, Db::set_re_len, Db::set_re_pad, Db::set_re_source, Db::stat, Db::sync, Db::truncate, Db::upgrade, and Db::verify.

APIRef

Copyright Sleepycat Software Berkeley DB: Db::set_pagesize

Db::set_pagesize

APIRef


#include <db_cxx.h>

int Db::set_pagesize(u_int32_t pagesize);

Description

Set the size of the pages used to hold items in the database, in bytes. The minimum page size is 512 bytes, and the maximum page size is 64K bytes. If the page size is not explicitly set, one is selected based on the underlying filesystem I/O block size. The automatically selected size has a lower limit of 512 bytes and an upper limit of 16K bytes.

For information on tuning the Berkeley DB page size, see Selecting a page size.

The Db::set_pagesize interface may be used only to configure Berkeley DB before the Db::open interface is called.

The Db::set_pagesize 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 Db::set_pagesize method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

Called after Db::open was called.

The Db::set_pagesize 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 Db::set_pagesize 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

Db

See Also

Db::associate, Db::close, Db::cursor, Db::del, Db::err, Db::errx Db::fd, Db::get, Db::pget, Db::get_byteswapped, Db::get_type, Db::join, Db::key_range, Db::open, Db::put, Db::remove, Db::rename, Db::set_alloc, Db::set_append_recno, Db::set_bt_compare, Db::set_bt_minkey, Db::set_bt_prefix, Db::set_cachesize, Db::set_dup_compare, Db::set_errcall, Db::set_errfile, Db::set_errpfx, Db::set_feedback, Db::set_flags, Db::set_h_ffactor, Db::set_h_hash, Db::set_h_nelem, Db::set_lorder, Db::set_pagesize, Db::set_paniccall, Db::set_q_extentsize, Db::set_re_delim, Db::set_re_len, Db::set_re_pad, Db::set_re_source, Db::stat, Db::sync, Db::truncate, Db::upgrade, and Db::verify.

APIRef

Copyright Sleepycat Software Berkeley DB: Db::set_paniccall

Db::set_paniccall

APIRef


#include <db_cxx.h>

int Db::set_paniccall( void (*db_paniccall_fcn)(DbEnv *dbenv, int errval));

Description

Errors can occur in the Berkeley DB library where the only solution is to shut down the application and run recovery (for example, if Berkeley DB is unable to allocate heap memory). In these cases, when the C++ error model has been configured so that the individual Berkeley DB methods return error codes (see DbException for more information), the value DB_RUNRECOVERY is returned by Berkeley DB methods.

In these cases, it is also often simpler to shut down the application when such errors occur rather than to try to gracefully return up the stack. The DbEnv::set_paniccall and Db::set_paniccall methods are used to specify methods to be called when DB_RUNRECOVERY is about to be returned from a Berkeley DB interface. When called, the dbenv argument will be a reference to the current environment, and the errval argument is the error value that would have been returned to the calling method.

For Db handles opened inside of Berkeley DB environments, calling the Db::set_paniccall method affects the entire environment and is equivalent to calling the DbEnv::set_paniccall method.

The Db::set_paniccall interface may be used to configure Berkeley DB at any time during the life of the application.

The Db::set_paniccall 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.

Class

Db

See Also

Db::associate, Db::close, Db::cursor, Db::del, Db::err, Db::errx Db::fd, Db::get, Db::pget, Db::get_byteswapped, Db::get_type, Db::join, Db::key_range, Db::open, Db::put, Db::remove, Db::rename, Db::set_alloc, Db::set_append_recno, Db::set_bt_compare, Db::set_bt_minkey, Db::set_bt_prefix, Db::set_cachesize, Db::set_dup_compare, Db::set_errcall, Db::set_errfile, Db::set_errpfx, Db::set_feedback, Db::set_flags, Db::set_h_ffactor, Db::set_h_hash, Db::set_h_nelem, Db::set_lorder, Db::set_pagesize, Db::set_paniccall, Db::set_q_extentsize, Db::set_re_delim, Db::set_re_len, Db::set_re_pad, Db::set_re_source, Db::stat, Db::sync, Db::truncate, Db::upgrade, and Db::verify.

APIRef

Copyright Sleepycat Software Berkeley DB: Db::set_q_extentsize

Db::set_q_extentsize

APIRef


#include <db_cxx.h>

int Db::set_q_extentsize(u_int32_t extentsize);

Description

Set the size of the extents used to hold pages in a Queue database, specified as a number of pages. Each extent is created as a separate physical file. If no extent size is set, the default behavior is to create only a single underlying database file.

For information on tuning the extent size, see Selecting a extent size.

The Db::set_q_extentsize interface may be used only to configure Berkeley DB before the Db::open interface is called.

The Db::set_q_extentsize 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 Db::set_q_extentsize method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

Called after Db::open was called.

The Db::set_q_extentsize 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 Db::set_q_extentsize 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

Db

See Also

Db::associate, Db::close, Db::cursor, Db::del, Db::err, Db::errx Db::fd, Db::get, Db::pget, Db::get_byteswapped, Db::get_type, Db::join, Db::key_range, Db::open, Db::put, Db::remove, Db::rename, Db::set_alloc, Db::set_append_recno, Db::set_bt_compare, Db::set_bt_minkey, Db::set_bt_prefix, Db::set_cachesize, Db::set_dup_compare, Db::set_errcall, Db::set_errfile, Db::set_errpfx, Db::set_feedback, Db::set_flags, Db::set_h_ffactor, Db::set_h_hash, Db::set_h_nelem, Db::set_lorder, Db::set_pagesize, Db::set_paniccall, Db::set_q_extentsize, Db::set_re_delim, Db::set_re_len, Db::set_re_pad, Db::set_re_source, Db::stat, Db::sync, Db::truncate, Db::upgrade, and Db::verify.

APIRef

Copyright Sleepycat Software Berkeley DB: Db::set_re_delim

Db::set_re_delim

APIRef


#include <db_cxx.h>

int Db::set_re_delim(int re_delim);

Description

Set the delimiting byte used to mark the end of a record in the backing source file for the Recno access method.

This byte is used for variable length records if the re_source file is specified. If the re_source file is specified and no delimiting byte was specified, <newline> characters (that is, ASCII 0x0a) are interpreted as end-of-record markers.

The Db::set_re_delim interface may be used only to configure Berkeley DB before the Db::open interface is called.

The Db::set_re_delim 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 Db::set_re_delim method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

Called after Db::open was called.

The Db::set_re_delim 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 Db::set_re_delim 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

Db

See Also

Db::associate, Db::close, Db::cursor, Db::del, Db::err, Db::errx Db::fd, Db::get, Db::pget, Db::get_byteswapped, Db::get_type, Db::join, Db::key_range, Db::open, Db::put, Db::remove, Db::rename, Db::set_alloc, Db::set_append_recno, Db::set_bt_compare, Db::set_bt_minkey, Db::set_bt_prefix, Db::set_cachesize, Db::set_dup_compare, Db::set_errcall, Db::set_errfile, Db::set_errpfx, Db::set_feedback, Db::set_flags, Db::set_h_ffactor, Db::set_h_hash, Db::set_h_nelem, Db::set_lorder, Db::set_pagesize, Db::set_paniccall, Db::set_q_extentsize, Db::set_re_delim, Db::set_re_len, Db::set_re_pad, Db::set_re_source, Db::stat, Db::sync, Db::truncate, Db::upgrade, and Db::verify.

APIRef

Copyright Sleepycat Software Berkeley DB: Db::set_re_len

Db::set_re_len

APIRef


#include <db_cxx.h>

int Db::set_re_len(u_int32_t re_len);

Description

For the Queue access method, specify that the records are of length re_len.

For the Recno access method, specify that the records are fixed-length, not byte-delimited, and are of length re_len.

Any records added to the database that are less than re_len bytes long are automatically padded (see Db::set_re_pad for more information).

Any attempt to insert records into the database that are greater than re_len bytes long will cause the call to fail immediately and return an error.

The Db::set_re_len interface may be used only to configure Berkeley DB before the Db::open interface is called.

The Db::set_re_len 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 Db::set_re_len method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
An invalid flag value or parameter was specified.

Called after Db::open was called.

The Db::set_re_len 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 Db::set_re_len 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

Db

See Also

Db::associate, Db::close, Db::cursor, Db::del, Db::err, Db::errx Db::fd, Db::get, Db::pget, Db::get_byteswapped, Db::get_type, Db::join, Db::key_range, Db::open, Db::put, Db::remove, Db::rename, Db::set_alloc, Db::set_append_recno, Db::set_bt_compare, Db::set_bt_minkey, Db::set_bt_prefix, Db::set_cachesize, Db::set_dup_compare, Db::set_errcall, Db::set_errfile, Db::set_errpfx, Db::set_feedback, Db::set_flags, Db::set_h_ffactor, Db::set_h_hash, Db::set_h_nelem, Db::set_lorder, Db::set_pagesize, Db::set_paniccall, Db::set_q_extentsize, Db::set_re_delim, Db::set_re_len, Db::set_re_pad, Db::set_re_source, Db::stat, Db::sync, Db::truncate, Db::upgrade, and Db::verify.

APIRef

Copyright Sleepycat Software