#include <db_cxx.h> int Db::set_ext_file_threshold(u_int32_t bytes, u_int32_t flags);
The Db::set_ext_file_threshold()
method sets
a size which is used to determine when a data item will be
stored as an external file. Data items sized less than this threshold
are stored as normal data within the database. Data items larger than
this size are stored on-disk in a subdirectory set aside for the
purpose.
If this threshold value is set to 0
, then external
files will never be used by the database.
It is illegal to set an external file threshold if any of the following flags were specified for the database: DB_DUP, and DB_DUPSORT.
It is also illegal to set an external file threshold if compression is turned on for the database. That is, if Db::set_bt_compress() has been called for the database handle.
This method configures the underlying database. The external file threshold is stored in the database at database creation time. Any external file threshold set after creating the database is ignored.
This method may not be called after Db::open() is called.
Unless otherwise specified, the
Db::set_ext_file_threshold()
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.
The bytes parameter identifies the threshold size, in bytes, beyond which a data item is stored as an external file.
The Db::set_ext_file_threshold()
method may fail and throw a DbException
exception, encapsulating one of the following non-zero errors, or return one
of the following non-zero errors:
If the method was called after Db::open() was called; or if an invalid flag or parameter was specified; or if compression is turned on for the database; or if the database is configured with one or more of the following flags: DB_DUP, and DB_DUPSORT.