head 1.2; access; symbols RPM_4_2_1:1.1.1.5 RPM_4_2:1.1.1.5 RPM_4_1_1:1.1.1.5 RPM_4_1:1.1.1.4 RPM_4_0_5:1.1.1.3 RPM_4_0_4:1.1.1.2 RPM_4_0_3:1.1.1.1 RPM:1.1.1; locks; strict; comment @# @; 1.2 date 2008.01.02.09.52.50; author rse; state dead; branches; next 1.1; commitid z4cpSiAhOCXk5PLs; 1.1 date 2001.07.23.20.45.36; author rse; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2001.07.23.20.45.36; author rse; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2002.01.08.00.30.08; author rse; state Exp; branches; next 1.1.1.3; 1.1.1.3 date 2003.01.18.13.48.55; author rse; state Exp; branches; next 1.1.1.4; 1.1.1.4 date 2001.12.06.00.07.57; author rse; state Exp; branches; next 1.1.1.5; 1.1.1.5 date 2003.01.18.14.04.56; author rse; state Exp; branches; next ; desc @@ 1.2 log @remove the ancient RPM 4.2.1 source tree copy @ text @
DB->set_flags |
![]() ![]() |
#include <db.h>int DB->set_flags(DB *db, u_int32_t flags);
Calling DB->set_flags is additive; there is no way to clear flags.
The flags value must be set to 0 or by bitwise inclusively OR'ing together one or more of the following values:
The following flags may be specified for the Btree access method:
Logical record numbers in Btree databases are mutable in the face of record insertion or deletion. See the DB_RENUMBER flag in the Recno access method information for further discussion.
Maintaining record counts within a Btree introduces a serious point of contention, namely the page locations where the record counts are stored. In addition, the entire tree must be locked during both insertions and deletions, effectively single-threading the tree for those operations. Specifying DB_RECNUM can result in serious performance degradation for some applications and data sets.
The following flags may be specified for the Hash access method:
There are no additional flags that may be specified for the Queue access method.
The following flags may be specified for the Recno access method:
Using the DB->put or DBcursor->c_put interfaces to create new records will cause the creation of multiple records if the record number is more than one greater than the largest record currently in the database. For example, creating record 28, when record 25 was previously the last record in the database, will create records 26 and 27 as well as 28. Attempts to retrieve records that were created in this manner will result in an error return of DB_KEYEMPTY.
If a created record is not at the end of the database, all records following the new record will be automatically renumbered upward by one. For example, the creation of a new record numbered 8 causes records numbered 8 and greater to be renumbered upward by one. If a cursor was positioned to record number 8 or greater before the insertion, it will be shifted upward one logical record, continuing to refer to the same record as it did before.
For these reasons, concurrent access to a Recno database with the DB_RENUMBER flag specified may be largely meaningless, although it is supported.
The DB->set_flags interface may be used only to configure Berkeley DB before the DB->open interface is called.
The DB->set_flags function returns a non-zero error value on failure and 0 on success.
The DB->set_flags function may fail and return a non-zero error for the following conditions:
The DB->set_bt_compare function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->set_bt_compare function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.
![]() ![]() |
Copyright Sleepycat Software @ 1.1 log @Initial revision @ text @d1 1 a1 1 @ 1.1.1.1 log @Import: RPM 4.0.3 @ text @@ 1.1.1.2 log @Import: RPM 4.0.4 @ text @d1 1 a1 1 @ 1.1.1.3 log @Import: RPM 4.0.5 @ text @d1 2 a2 2 a3 1 a30 29
The following flags may be specified for any Berkeley DB access method:
Calling DB->set_flags with the DB_CHKSUM_SHA1 flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle).
If the database already exists when DB->open is called, the DB_CHKSUM_SHA1 flag will be ignored. If creating additional databases in a file, the checksum behavior specified must be consistent with the existing databases in the file or an error will be returned.
Calling DB->set_flags with the DB_ENCRYPT flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle).
If the database already exists when DB->open is called, the DB_ENCRYPT flag must be the same as the existing database or an error will be returned. If creating additional databases in a file, the encryption behavior specified must be consistent with the existing databases in the file or an error will be returned.
Calling DB->set_flags with the DB_DUP flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUP flag must be the same as the existing database or an error will be returned. d47 1 a47 1 DB->set_dup_compare method, a default lexical comparison will be d50 1 a50 7
Calling DB->set_flags with the DB_DUPSORT flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUPSORT flag must be the same as the existing database or an error will be returned. d52 2 a53 2 information, see the DB_SET_RECNO flag to the DB->get and DBcursor->c_get methods. d55 2 a56 2 record insertion or deletion. See the DB_RENUMBER flag in the Recno access method information for further discussion. d58 5 a62 5 contention, namely the page locations where the record counts are stored. In addition, the entire tree must be locked during both insertions and deletions, effectively single-threading the tree for those operations. Specifying DB_RECNUM can result in serious performance degradation for some applications and data sets. d64 1 a64 7
Calling DB->set_flags with the DB_RECNUM flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_RECNUM flag must be the same as the existing database or an error will be returned. a74 3
Calling DB->set_flags with the DB_REVSPLITOFF flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle). d83 2 a84 8 use of a cursor operation. It is an error to specify both DB_DUP and DB_RECNUM.
Calling DB->set_flags with the DB_DUP flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUP flag must be the same as the existing database or an error will be returned. d90 1 a90 1 DB->set_dup_compare method, a default lexical comparison will be a92 6
Calling DB->set_flags with the DB_DUPSORT flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUPSORT flag must be the same as the existing database or an error will be returned. d100 10 a109 10
Calling DB->set_flags with the DB_RENUMBER flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_RENUMBER flag must be the same as the existing database or an error will be returned.
Calling DB->set_flags with the DB_SNAPSHOT flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle). d132 3 a134 3
The DB->set_flags interface may not be called after the DB->open interface is called.
The DB->set_flags method returns a non-zero error value on failure and 0 on success. d136 1 a136 1
The DB->set_flags method may fail and return a non-zero error for the following conditions: d140 4 a143 6
The DB->set_bt_compare method may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->set_bt_compare method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.
The DB->set_flags interface may be used only to configure Berkeley DB before the DB->open interface is called.
The DB->set_flags function returns a non-zero error value on failure and 0 on success. d208 1 a208 1
The DB->set_flags function may fail and return a non-zero error for the following conditions: d212 6 a217 4
The DB->set_bt_compare function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->set_bt_compare function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way. d219 1 a219 46 db_create, 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. @ 1.1.1.5 log @Import: RPM 4.1.1 @ text @d1 2 a2 2 a3 1 a30 29
The following flags may be specified for any Berkeley DB access method:
Calling DB->set_flags with the DB_CHKSUM_SHA1 flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle).
If the database already exists when DB->open is called, the DB_CHKSUM_SHA1 flag will be ignored. If creating additional databases in a file, the checksum behavior specified must be consistent with the existing databases in the file or an error will be returned.
Calling DB->set_flags with the DB_ENCRYPT flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle).
If the database already exists when DB->open is called, the DB_ENCRYPT flag must be the same as the existing database or an error will be returned. If creating additional databases in a file, the encryption behavior specified must be consistent with the existing databases in the file or an error will be returned.
Calling DB->set_flags with the DB_DUP flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUP flag must be the same as the existing database or an error will be returned. d47 1 a47 1 DB->set_dup_compare method, a default lexical comparison will be d50 1 a50 7
Calling DB->set_flags with the DB_DUPSORT flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUPSORT flag must be the same as the existing database or an error will be returned. d52 2 a53 2 information, see the DB_SET_RECNO flag to the DB->get and DBcursor->c_get methods. d55 2 a56 2 record insertion or deletion. See the DB_RENUMBER flag in the Recno access method information for further discussion. d58 5 a62 5 contention, namely the page locations where the record counts are stored. In addition, the entire tree must be locked during both insertions and deletions, effectively single-threading the tree for those operations. Specifying DB_RECNUM can result in serious performance degradation for some applications and data sets. d64 1 a64 7
Calling DB->set_flags with the DB_RECNUM flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_RECNUM flag must be the same as the existing database or an error will be returned. a74 3
Calling DB->set_flags with the DB_REVSPLITOFF flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle). d83 2 a84 8 use of a cursor operation. It is an error to specify both DB_DUP and DB_RECNUM.
Calling DB->set_flags with the DB_DUP flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUP flag must be the same as the existing database or an error will be returned. d90 1 a90 1 DB->set_dup_compare method, a default lexical comparison will be a92 6
Calling DB->set_flags with the DB_DUPSORT flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_DUPSORT flag must be the same as the existing database or an error will be returned. d100 10 a109 10
Calling DB->set_flags with the DB_RENUMBER flag affects the database, including all threads of control accessing the database.
If the database already exists when DB->open is called, the DB_RENUMBER flag must be the same as the existing database or an error will be returned.
Calling DB->set_flags with the DB_SNAPSHOT flag only affects the specified DB handle (and any other Berkeley DB handles opened within the scope of that handle). d132 3 a134 3
The DB->set_flags interface may not be called after the DB->open interface is called.
The DB->set_flags method returns a non-zero error value on failure and 0 on success. d136 1 a136 1
The DB->set_flags method may fail and return a non-zero error for the following conditions: d140 4 a143 6
The DB->set_bt_compare method may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB->set_bt_compare method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.