Db::set_re_len()

#include <db_cxx.h>

int
Db::set_re_len(u_int32_t re_len); 

For the Queue access method, specify that the records are of length re_len. For the Queue access method, the record length must be enough smaller than the database's page size that at least one record plus the database page's metadata information can fit on each database page.

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

The Db::set_re_len() method may not be called after the Db::open() method is called. If the database already exists when Db::open() is called, the information specified to Db::set_re_len() will be ignored.

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.

Parameters

re_len

The re_len parameter is the length of a Queue or Recno database record, in bytes.

Errors

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

EINVAL

If the method was called after Db::open() was called; or if an invalid flag value or parameter was specified.

Class

Db

See Also

Database and Related Methods