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 method configures a database, not only operations performed using the specified Db handle.

The Db::set_q_extentsize interface may not be called after the Db::open interface is called. If the database already exists when Db::open is called, the information specified to Db::set_q_extentsize will be ignored.

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 a DbRunRecoveryException, in which case all subsequent Berkeley DB calls will fail in the same way.

Class

Db

See Also

Databases and Related Methods

APIRef

Copyright Sleepycat Software