Db::set_lorder

APIRef

#include <db_cxx.h>

int Db::set_lorder(int lorder);

Description

Set the byte order for integers in the stored database metadata. The number should represent the order as an integer; for example, big endian order is the value 4,321, and little endian order is the value 1,234. If lorder is not explicitly set, the host order of the machine where the Berkeley DB library was compiled is used.

The access methods provide no guarantees about the byte ordering of the application data stored in the database, and applications are responsible for maintaining any necessary ordering.

The Db::set_lorder method configures a database, not only operations performed using the specified Db handle.

The Db::set_lorder 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_lorder will be ignored. If creating additional databases in a file, the byte order specified must be consistent with the existing databases in the file or an error will be returned.

The Db::set_lorder 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_lorder 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_lorder 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_lorder 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