merge 5.3.21

This commit is contained in:
Gregory Burd 2012-11-14 15:13:24 -05:00
parent e2ca594d70
commit 5b7b02ae05
1064 changed files with 16329 additions and 6198 deletions

2
README
View file

@ -1,4 +1,4 @@
Berkeley DB 11g Release 2, library version 11.2.5.2.28: (June 10, 2011) Berkeley DB 11g Release 2, library version 11.2.5.3.21: (May 11, 2012)
This is Berkeley DB 11g Release 2 from Oracle. To view release and This is Berkeley DB 11g Release 2 from Oracle. To view release and
installation documentation, load the distribution file docs/index.html installation documentation, load the distribution file docs/index.html

548
dist/ChangeLog vendored
View file

@ -1,426 +1,318 @@
= Berkeley DB 5.2 Changelog = = Berkeley DB 5.3 Changelog =
== Changes between 11.2.5.3.15 and 11.2.5.3.21 ==
Fixed incompatibility problems of Java DPL with JDK7, so DPL will now
work with JDK7. [#20586]
Added a flag to allow database locking to be disabled from the SQL
API. [#20928]
Fixed a bug that could allocate a heap data page in a region after the
region creation has been undone. [#20939]
Redundant whitespaces are now ignored in DB_CONFIG lines pertaining to
directories, e.g. set_data_dir. [#20158]
Fixed a bug that caused DB_ENV->backup to stop early if DB_BACKUP_FILES was
not set and a non-DB file was in the data directory. [#21076]
Fixed a rare race condition that could cause a crash if two processes opened
the same database at the same time. [#21041]
Fixed missing cross compiling capability for the JDBC driver. [#21101]
Allow the same system/machine to host both a master and a replica
database through the use of relative pathnames. [#21105]
Fixed a bug in the Java API where EnvironmentConfig.setCreateDir would fail
to configure the environment. [#21127]
Fixed an assert failure in btreeCompare when allocating memory
in the wrong thread was causing a memory leak. [#21232]
Fixed a bug in the Java API where concurrent operations that change the
database schema could lead to a hang. [#21265]
Added JDBC code to the code base and updated the windows build files
to include the JDBC solution. [#21294]
Fixed a bug where the heap's region size was not getting swapped correctly
in mixed-endian environments. [#21295]
Fixed a bug in the db_sql_jdbc project file for vs2010 that was preventing
it from building correctly. [#21332]
== Database or Log File On-Disk Format Changes == == Database or Log File On-Disk Format Changes ==
Existing database file formats were unchanged in library version 11.2.5.2. Existing database file formats were unchanged in library version 11.2.5.3.
However, a new database file format, "heap", was introduced.
The log file format changed in library version 11.2.5.2. The log file format changed in library version 11.2.5.3.
== New Features == == New Features ==
Replication Manager now manages Group Membership. This allows sites to be added to Added support for verifying named in-memory dbs. [#16941]
and removed from the replication group dynamically. Replication Manager
also now automatically keeps track of the group size (nsites). [#14778]
Initial allocations for various non-pagebuffer (mpool) system resources Added an integer key comparison function to improve performance through
may now be specified, as well as a total maximum of memory to use, rather than the SQL API. [#19609]
specifying a maximum value for each resource. [#16334]
Implemented Berkeley DB globalization support architecture to enable localized Support build on the platforms where pthread_t is a struct. [#19876]
and stripped error and output messages. [#16863]
Added a new access method, DB_HEAP. Heap aims for efficient use (and re-use) Added an API call so the user can specify the size of the region in a
of disk space. Keys in a heap database are automatically generated by BDB, it heap db. [#19914]
is recommended that one or more secondary indexes be used with a heap
database. For full details on DB_HEAP, see the Programmer's Reference
Guide. [#17627]
Added a compatible mode for 32bit and 64bit Windows environment. [#18225] Improved Replication Manager's ability to recover from the (perhaps
rare) phenomenon of two sites trying to connect to each other
simultaneously, which used to result in loss of both connections,
requiring a retry after the CONNECTION_RETRY timeout period. [#19980]
For the SQL API, concurrency between read and write transactions can now be Enhanced the interface for copying databases for a hot backup. Added configure
enabled using "PRAGMA multiversion". Added several pragmas that can be support for --enable-atomicfileread. [#20129]
used to configure the Berkeley DB datastore. [#18521]
Add several new pragmas to provide in-process support for replication in Enhaced the log reading routine to detect that a log file is missing rather
the SQL API. [#18528] than returning that a zero length record was found. [#20130]
The Berkeley DB X/open compliant XA resource manager has been restored, Added pragma bdbsql_shared_resources to set or report the maximum amount of
including support for multi-threaded servers. [#18701] memory to be used by shared structures in the main environment region and
bdbsql_lock_tablesize to set or report the number of buckets in
the lock object hash table. These are advanced tuning features for
applications with large number of tables or needs to reduce locking on
concurrent long running transactions. [#20156]
Improved the ability to recover from an application crash on connections Added set_metadata_dir() and get_metadata_dir() to enable storage of
through the SQL API. Berkeley DB will try to automatically clean up locks, persistent metadata files in a location other than the environment
mutexes and transactions from the failed process. [#18713] home directory. [#20174]
Add support for sequence usage in the SQL API using SQLite custom Improved the error handling through the SQL API. Errors can be sent to a
functions. [#19007] file with the use of the BDBSQL_ERROR_FILE pragma. [#20213]
Add a pragma in the SQL API to allow execution of a cache trickle Database handles can now be configured to give exclusive access to
command. [#19202] the database. [#20331]
Add a pragma in the SQL API to allow configuration of DB_SYSTEM_MEM XA transactions will now use transaction snapshots if the XA databases
environments. [#19249] they operate on were configured with DB_MULTIVERSION. [#20332]
The new db_env_set_win_security(SECURITY_ATTRIBUTES *) function allows an Added additional stats fields into the C# API [#20693]
application to specify the particular Microsoft Windows security attributes
to be used by Berkeley DB. This helps support applications which reduce their
privileges after opening the environment. [#19529]
Added pragma bdbsql_single_process to keep the Berkeley DB environment
information on the heap instead of in shared memory. This option cannot
be used if the database is accessed from multiple processes. [#20789]
Improved the ability of DB->compact to move DB_HASH database pages to the
begining of the file. [#20815]
== Database Environment Changes == == Database Environment Changes ==
None Fixed a bug that could cause a segmentation violation when closing
an environment handle which has open database handles on partition
databases. [#20281]
== Concurrent Data Store Changes == Fixed a bug that could cause a segmentation violation if a region was
extended leaving a very small fragment at the end. [#20414]
None Changed the behavior of the DB_REGISTER | DB_RECOVER flag combination, so
that recovery is always run if the environment panic bit is set. [#20767]
== Access Method Changes == == Access Method Changes ==
Modified the queue access method so that it only uses latches on the metadata Fixed a bug were database configuration settings could be lost when the
page rather than a latch and a lock. This was done to improve database was opened if the open operation was blocked for any amount
performance. [#18749] of time. [#20860]
Fixed several bugs that could cause an update running with MVCC to get the Fixed a bug that bulk update operations did not work correctly on
wrong version of a page or improperly update the metadata last page compressed databases. [#19017]
number. [#19063]
The database open code will no longer log the open and close of the master Improved the log flushing performance when ftruncate() is not available
database in a file when opening a sub database in that file. [#19071] on a system. [#19725]
Fixed a bug where an error during an update to a hash database with When performing partial puts in a heap database, empty pieces will no longer
DB_NOOVERWRITE set could return DB_KEYEXIST rather than the correct be left in a split record chain. [#20052]
error. [#19077]
Fixed a bug that could cause the wrong page number to be on a root or metadata Fixed a bug where, on systems without FTRUNCATE, db_verify will return an
page if DB->compact moved the page and the operation was later rolled error for truncated heap databases. [#20195]
forward. [#19167]
Fixed a bug that could cause the close of a secondary index database to fail Fixed a bug where BDB could run out of mutexes when many databases are
if the transaction doing the open aborted. [#19169] renamed. [#20228]
Fixed a bug that could prevent an update to a primary recno or queue database Fixed a bug where the metadata page in hash databases would not be flushed
with DB_NOOVERWITE set. [#19230] to disk. [#20265]
Fixed a bug when an update to a database with DB_NOOVERWRITE set could Fixed a bug that could leave deleted pages from a HEAP database in the
incorrectly return DB_KEYEXIST rather than the correct error buffer cache. [#20309]
(e.g., DB_LOCK_DEADLOCK). [#19345]
Fixed a bug preventing the use of the set_re_len and set_re_pad methods with Fixed a bug where the library would fail to put records with overflow keys
a RECNO database when configuring with --disable-queue. [#19367] into hash duplicate database. [#20329]
Fixed a bug in DB->compact of btrees that could cause a bad pointer
reference. [#20360]
Fixed a bug in DB->compact on BTREE databases that did not check if the last Fixed a bug that could cause the last page number stored on the metadata
page in the database could be moved to a lower numbered page. [#19394] page to be wrong after rolling forward a db->compact operation that freed
more pages than will fit in a single log record. [#20646]
Fixed a bug that could cause a Log Sequence Error when recovering the Fixed a bug that could cause DB->stat to block on a mutex while holding a
deallocation of a multiple page overflow chain. [#19474] lock on the metadata page. [#20770]
Fixed a bug that could cause a diagnostic assertion if MVCC was in use Fixed a bug that could cause DB->compact of a DB_HASH database to fail to
and multiple levels of a btree needed to be split. [#19481] mark a page it updated as dirty. [#20778]
Fixed a few error paths that could cause a Panic with an "unpinned page Fixed a bug where internal HEAP structures were not rebuilt during database
returned" error. [#19493] handle refresh. [#20821]
Fixed a bug that closed a race condition that under heavy mult-threaded Fixed a bug with secondary indices, off-page duplicates and
appending to a queue database could cause some records to be lost. [#19498] DB_READ_COMMITTED which could erroneously release the lock on the page
holding a returned record. [#20853]
Fixed a bug that might cause DB->compact to mis-estimate the size of an Fixed a bug that could cause a hang or improperly report an empty queue when
overflow record when merging two pages. This may cause the page to have more the queue record numbers wrapped around at 2^32. [#20956]
data than desired. [#19562]
Fixed a bug in DB_ENV->fileid_reset that did not update the fileid's on the Fixed a bug on Linux or Windows that could generate a checksum error
metadata pages of subdatabases if the database file was not in native if a database file was being opened while the meta data page happened
byte order. [#19608] to be flushed from the cache. [#20996]
Fixed a bug that caused the first directory specified in the create of
a partitioned database to get too many partitions. [#20041]
== SQL API Changes == == SQL API Changes ==
Fixed a race condition that would cause a corruption error in one process when Fixed several memory leaks in the Online Backup API. [#19850]
two processes created the same SQL database. [#18929]
Fixed a bug that would cause a constraint violation when updating the Fixed a bug in the SQL API when using large blob items and multiple concurrent
primary key with the same value. [#18976] connections. [#19945]
Overwriting an old backup with a new backup using the SQL online backup API To avoid a race condition that could cause a snapshot reader to see a wrong
will no longer double the size of the database. [#19021] version it is now not permitted to open a DB handle specifying DB_MULTIVERSION
if that database is currently opened by a handle which did not specify
DB_MULTIVERSION. [#19940]
Implemented index optimizations for indexes on large values. [#19094] Pragma replication=on can now enable replication on an existing database.
Turning replication off is now permanent. [#20180]
Fixed a bug that could cause an undetected deadlock between a Fixed a bug in the SQL API where it was possible for a schema update to be
thread which moved a metadata or root page via a DB->compact operation and ignored when accessing a database from multiple processes. [#20319]
another thread trying to open the database if the old page was being removed
from the file. [#19186]
Fix a bug in the BDBSQL_FILE_PER_TABLE option, to allow absolute Fixed a bug where aborting an exclusive transaction followed by an
path names. [#19190] auto-commit read operation causes an assert failure. [#20567]
Add a pragma to allow configuration of DB_SYSTEM_MEM environments. [#19249] Fixed a bug in the SQL API where using the journal_mode pragma could cause a
crash when used as the first operation in a connection on an existing
database. [#20620]
Exclusive transactions will now block new transactions and will prevent Turn off the DBSQL encryption option on Windows/WinCE by default to match the
existing transactions from making forward progress. [#19256] behavior on the other platforms. [#20671]
Fixed a bug that would cause assert error when opening an in-memory hash Renamed the BDBSQL_OMIT_SHARING preprocessor flag to
database with thread count configured when compiled with BDBSQL_SINGLE_PROCESS. [#20789]
--enable-diagnostic. [#19357]
Upgrade the bundled version of SQLite to 3.7.6.2 [#19376] Fixed a bug dealing with handle lock modes not reflecting the correct state
which was causing a deadlock in the SQL API. [#20862]
Fixed a performance bug with the cache victim selection algorithm when there == Java-specific API changes ==
were multiple cache regions. [#19385]
Fixed a bug which could cause two SQL threads to have an undetected deadlock Added ReplicationManagerConnectionStatus class and
when opening or closing tables. [#19386] ReplicationManagerSiteInfo.getConnectionStatus(). Deprecated
ReplicationManagerSiteInfo.isConnected(). [#18068]
Fix a bug that could cause a hang when deleting a table if there are multiple Updated EID_MASTER to be "public static final" so that it would be exposed
connections to a database from different processes. [#19419] in Java docs. [#20184]
Fixed a bug which could cause multiple threads performing DB->compact on Fixed a bug where calls that return Stat objects could cause a
the same database file to overrun the in-memory freelist, which could segfault. [#20377]
potentially lead to memory corruption. [#19571]
Fixed a bug in DB->compact that could cause a loop if an attempt to move a
sub-database meta data page deadlocked. [#20028]
== C API Changes ==
Fixed a bug where encryption could not be enabled for individual databases
in an encrypted environment. [#18891]
Removed two unused error codes, DB_NOSERVER_HOME and DB_NOSERVER_ID. [#18978]
Added a DB_DBT_READONLY flag so that users can pass in a non-usermem key
(DB_DBT_USERMEM) for get operations. [#19360]
Fixed a bug in DB/DBC->get/pget that the partial flags are silently ignored
with positional flags and return inconsistent DBT. [#19540]
Fixed a bug which prevented items from being deleted on a secondary
database. [#19573]
Fixed a bug to correctly handle the DB_BUFFER_SMALL case on delete
operations when compression is enabled. [#19660]
== Tcl-specific API Changes ==
None.
== C#-specific API Changes ==
Added support for partial put/get in the C# API. [#18795]
Fixed a bug in compare delegate for secondary db. [#18935]
== Replication Changes == == Replication Changes ==
Replication Manager now allows differing ack policies at different Fixed quorum computation when most sites are unelectable. [#15251]
sites throughout the group, and supports dynamic changes to the ack
policy. (The ack policy in force is determined by the current
master.) [#14993]
Replication Manager "channels" feature allows applications to Made Replication more resilient to random input on its port. [#15712]
share repmgr's communication facilities. [#17228]
Add example program for RepMgr "channels" feature: ex_rep_chan. [#17387] Fixed a bug where the datadir structure was not maintained during an
internal init. [#19041]
Replication Manager now allows dynamic changes to a site's Fixed a repmgr memory leak when using DB_PRIVATE. [#19363]
"electability" (changes between zero and non-zero priority). This
feature should be used with care, because electability changes can in
boundary cases invalidate durability guarantees granted for previous
transactions. [#17497]
Changed election criteria so that later group transactions Fixed a minor bug to handle ENOMEM when using an in-memory
won't get overwritten by earlier generations with more log. [#17815] temp database. [#20197]
Added changes to master lease checks that result in improved Fixed a bug where multiple long running transactions across
performance when using master leases. [#18960] checkpoints could cause Log Sequence errors on client systems. [#20421]
A log write failure on a replication master will now cause Fixed a bug where multiple Replication Manager processes would sometimes
a panic since the transaction may be committed on some clients. [#19054] not all conform to replication-group-aware log archiving. [#20342]
Fixed a few memory leak conditions on error paths. [#19131]
Change lease code so that zero priority sites do not count
in lease guarantees since they cannot be elected. [#19154]
Repmgr rerequest processing is moved from a dedicated thread to heartbeat
messages. Repmgr clients using heartbeats can now detect and rerequest
missing final master log records without master activity. [#19197]
Repmgr statistics are now included in full statistics output for
an environment. [#19198]
Fix an inefficiency in mixed version elections. We now check
if an election is won via the EID instead of priority. [#19254]
Changed election LSNs to use the last txn commit LSN instead
of the end of the log. [#19278]
Create replication internal database files in the environment
home directory rather than the data directory so that they are in the
same location as the other internal replication files. [#19403]
Fix a bug that was preventing repmgr from calling an election
when starting a site with the DB_REP_ELECTION flag. [#19546]
Fixed a bug which could cause a segfault at a replication master if a
named in-memory database was being created around the same time as a
client site were synchronizing (in "internal init") with the master.
[#19583]
Adjust lease code to consider timeout length when retrying. [#19705]
Fixed a bug that could cause a crash in replication groups of more
than 10 sites, with multiple processes sharing each DB environment
concurrently. [#19818]
Fix a bug where an assertion failure could happen if pages in a database
were deallocated during a client internal initialization.[#19851]
Fix a bug where an internal initialization of a queue database with
non-contiguous extent files could return an error. [#19925]
The 2SITE_STRICT replication configuration parameter is now turned on
by default. It can be turned off via a call to
DB_ENV->rep_set_config(). [#19937]
Repmgr heartbeats can now help detect a duplicate master without the
need for application activity. [#19950]
== Locking Subsystem Changes == == Locking Subsystem Changes ==
Fixed a bug where an updater supporting DB_READ_UNCOMMITED might downgrade Fixed a bug that could cause an early lock timeout if a previous error
its lock too soon if there was an error during the update. [#19155] left a lock timeout value set. [#19973]
Fixed a bug where transaction timeouts could have been specified in a
database environment where the locking subsystem was disabled. [#19582]
Fixed a bug in a diagnostic assertion that was improperly triggered by the
removal of a sub-database. [#19683]
Fixed a bug that would cause DB_ENV->failcheck to free locks for a locker
associated with a database handle after the thread that opened the handle
exited. [#19881]
== Logging Subsystem Changes == == Logging Subsystem Changes ==
Enhanced recovery so that it will not output extra checkpoint or transaction Fixed a bug which could cause an incompletely written log record to be
id recycle log records if there was no activity since the last recognized as valid, resulting in recovery failing with the message "Illegal
checkpoint. [#15330] record type <integer, usually 0> in log". [#17851]
Log checksums can now be disabled using the compile argument Fixed a bug where printlog would fail on in-memory heap databases. [#20269]
--disable-log-checksum. This will give a performance increase at the risk
of undetectable corruption in the log records, which would make recovery
impossible. [#19143]
Fixed a bug that could cause a page that should have been removed from the
end of a file still be in the copy of the file in a hot backup. [#19996]
== Memory Pool Subsystem Changes == == Memory Pool Subsystem Changes ==
Fixed a bug in MPOOLFILE->get that did not permit the DB_MPOOL_DIRTY flag Fixed a bug which overstated the number of clean and dirty pages evicted from
to be used with other flags. [#19421] the cache. [#20410]
Fixed a bug that left a small fragment at the end of a region when
extending. [#20414]
Fixed a bug where the file bucket was always zero when creating a mpoolfile
using the mpool API. [#20468]
Fixed a bug with multiversion concurrency control which could cause
versions of pages to remain in the cache even though they are no longer
needed. [#20570]
The memory pool allocator will now start freezing MVCC versions of buffers
if it sees more than 1/4 of the available buffers are taken up by
versions. [#20836]
== Mutex Subsystem Changes == == Mutex Subsystem Changes ==
Fixed a bug when the mutex region needs to be larger than 4GB, the region size Fixed a bug in which DB_ENV->mutex_set_align() could cause
was incorrectly adjusted to be slightly too small to fit the mutexes. [#18968] DB_ENV->mutex_stat_print(dbenv, DB_STAT_ALL) to display only the
first mutex. [#20522]
Fixed a performance problem with hybrid shared latches in which a request for
exclusive access would busy-wait (rather than put itself to sleep) if the latch
were held by a shared reader. This also fixed the timeout handling of hybrid
mutexes. In some cases the timeout would not be honored, resulting in delays
for the replication "read your writes" feature which were longer than requested.
[#18982]
Fixed the timeout handling of the pthreads mutexes used by the replication
"read your writes" feature. When a timeout occurred there was a race condition
which might result in a hang. [#19047]
Fixed a bug with DB_ENV->mutex_stat_print() in which the information on
some mutexes would not be displayed, if any mutex had been freed and not
yet reallocated. [#20533]
== Transaction Subsystem Changes == == Transaction Subsystem Changes ==
Fixed a leak of log file ids when a database is closed before the end of a Fixed a bug where a malloc failure could result in a segfault
transaction that references it. [#15957] when doing a put on a database with secondaries. [#20641]
Fixed a bug that would cause a panic if a child transaction performed a database
rename, then aborted, and then the parent transaction committed. [#18069]
Fixed a bug where we released the metadata page lock too early if a
non-transactional update was being done. [#19036]
Removed the possibility that checkpoints will overlap in the log, decreasing
the time to recover. [#19062]
== Test Suite Changes ==
Require Tcl 8.5 or greater.
== Utility Changes == == Utility Changes ==
Added a new utility, db_tuner, which analyzes the data in a btree database, Fixed a bug that would cause verify to call the wrong compare function if
and suggests a reasonable pagesize. [#18910] there are user defined compare functions used and the database has multilevel
off page sorted duplicate trees. [#20284]
Fixed some bugs in log_verify when there are in-memory database logs and subdb Fixed a bug that could cause recovery to fail if DB->compact moved the meta
logs. [#19157] data page of a HASH subdatabase. [#20708]
Modified db_hotbackup to not read from the file system as required on non-UNIX Fixed two problems with db_hotbackup's handling of transaction logs. A hotbackup
systems. Also provided the db_copy function for this purpose. [#19863] would always try to open the logs in the environment home, even if a log
directory had been specified. The second fix corrected an error path, in which
Fixed db_hotbackup so that when -d/-l or -D is not specified, DB_CONFIG is the memory was freed by the wrong function, possibly causing a guard byte error.
used to determine the locations of the databases and logs in the source [#21313]
environment. [#19994]
== Configuration, Documentation, Sample Apps, Portability and Build Changes == == Configuration, Documentation, Sample Apps, Portability and Build Changes ==
Changed SQL API library built on *nix to link with libpthreads when The DB_CONFIG configuration commands which specify directory pathnames
necessary. [#19098] ("set_data_dir", "set_lg_dir", and "set_tmp_dir") now accept names containing
whitespace characters. [#20158]
Added CPPFLAGS into our --enable-jdbc configuration. [#19234]
Added encryption support into the Windows CE build project for SQL API. [#19632]
Fixed a bug in the STAT_INC_VERB() dtrace probe that was causing compiler
warnings. [#19707]
Fixed a bug that could cause a trap in db_dump using salvage mode if a
page was found that was not associated with any database in the file. [#19974]
On Cygwin, circumvented a bug in libtool that is exposed when building the
BDB SQL API in a directory path containing whitespace characters. [#19812]
== Example Changes ==
Update repmgr C, C#, C++, Java examples(ex_rep_mgr, ex_rep_gsg_repmgr,
ex_rep_chan, excs_repquote, excxx_repquote, excxx_epquote_gsg, repquote,
repquote_gsg) with their related API changes for group
membership. [#19586][#19622]
Port ex_rep_chan, ex_rep_gsg_repmgr,ex_rep_gsg_simple,
excxx_repquote_gsg_repmgr, excxx_repquote_gsg_simple to Window.[#19890]
== Miscellaneous Bug Fixes ==
Fixed a bug where memory copied from the Java API could leak if flags were not
correctly configured. [#19152]
== Deprecated Features ==
None
== Known Bugs == == Known Bugs ==
The SQL API has a known issue when using a blob field with a lot of content If two SQL processes are concurrently altering the schema of the same tables
and multiple concurrent connections to the database. [#19945] in a database, there is a race condition that can cause the application
to hang. [#20513]
Rollback of a dropped table in the SQL layer contains a mutex leak, which Replication groups including machines of different endianness do
can consume all mutex resources if enough rollbacks of table drops are not support the heap access method. [#21016]
performed. [#20077]
The DB_CONFIG configuration parameters which specify path names currently
do not support names containing any whitespace characters. [#20158]
The BFile module has a known crash issue when using BFile handle for SQL
expressions interface on 64bit platforms. [#20193]
On systems without FTRUNCATE, db_verify will return an error for truncated
heap databases. This is a bug in db_verify, the database has been truncated
correctly and can be used in the future. [#20195]
An application using queue extents which is append mostly could see a
decrease in the buffer pool hit rate due to the failure to remove pages
from closed extents from the buffer pool. [#20217]
If a txn that is attempting to remove a region page from a heap database is
aborted and another txn is trying to update that same page then it can
cause the original txn to abort. This is timing dependant. [#20939]

78
dist/Makefile.in vendored
View file

@ -223,8 +223,8 @@ HASH_OBJS=\
HASH_VRFY_OBJS=\ HASH_VRFY_OBJS=\
hash_verify@o@ hash_verify@o@
HEAP_OBJS=\ HEAP_OBJS=\
heap@o@ heap_auto@o@ heap_conv@o@ heap_method@o@ heap_open@o@ \ heap@o@ heap_auto@o@ heap_backup@o@ heap_conv@o@ heap_method@o@ \
heap_rec@o@ heap_reclaim@o@ heap_stat@o@ heap_open@o@ heap_rec@o@ heap_reclaim@o@ heap_stat@o@
HEAP_VRFY_OBJS=\ HEAP_VRFY_OBJS=\
heap_verify@o@ heap_verify@o@
QUEUE_OBJS=\ QUEUE_OBJS=\
@ -263,39 +263,41 @@ XA_OBJS=\
# object files in order to generate the additional objects in @FINAL_OBJS@. # object files in order to generate the additional objects in @FINAL_OBJS@.
DTRACE_OBJS= @ADDITIONAL_OBJS@ @REPLACEMENT_OBJS@ @CRYPTO_OBJS@ \ DTRACE_OBJS= @ADDITIONAL_OBJS@ @REPLACEMENT_OBJS@ @CRYPTO_OBJS@ \
clock@o@ crdel_auto@o@ crdel_rec@o@ db@o@ db_am@o@ \ clock@o@ crdel_auto@o@ crdel_rec@o@ db@o@ db_am@o@ db_auto@o@ \
db_auto@o@ db_byteorder@o@ db_cam@o@ db_cds@o@ db_compact@o@ \ db_backup@o@ db_byteorder@o@ db_cam@o@ db_cds@o@ db_compact@o@ \
db_compint@o@ db_conv@o@ db_copy@o@ db_dispatch@o@ db_dup@o@ db_err@o@ \ db_compint@o@ db_conv@o@ db_copy@o@ db_dispatch@o@ db_dup@o@ \
db_getlong@o@ db_idspace@o@ db_iface@o@ db_join@o@ db_log2@o@ \ db_err@o@ db_getlong@o@ db_idspace@o@ db_iface@o@ db_join@o@ \
db_meta@o@ db_method@o@ db_open@o@ db_overflow@o@ db_pr@o@ db_rec@o@ \ db_log2@o@ db_meta@o@ db_method@o@ db_open@o@ db_overflow@o@ \
db_reclaim@o@ db_remove@o@ db_rename@o@ db_ret@o@ db_setid@o@ \ db_pr@o@ db_rec@o@ db_reclaim@o@ db_remove@o@ db_rename@o@ \
db_setlsn@o@ db_shash@o@ db_sort_multiple@o@ db_stati@o@ \ db_ret@o@ db_setid@o@ db_setlsn@o@ db_shash@o@ db_sort_multiple@o@ \
db_truncate@o@ db_upg@o@ db_upg_opd@o@ dbreg@o@ dbreg_stat@o@ \ db_stati@o@ db_truncate@o@ db_upg@o@ db_upg_opd@o@ dbreg@o@ \
dbreg_auto@o@ dbreg_rec@o@ dbreg_util@o@ dbt@o@ env_alloc@o@ \ dbreg_stat@o@ dbreg_auto@o@ dbreg_rec@o@ dbreg_util@o@ \
env_config@o@ env_failchk@o@ env_file@o@ env_globals@o@ env_open@o@ \ dbt@o@ env_alloc@o@ env_config@o@ env_backup@o@ env_failchk@o@ \
env_method@o@ env_name@o@ env_recover@o@ env_region@o@ env_register@o@ \ env_file@o@ env_globals@o@ env_open@o@ env_method@o@ env_name@o@ \
env_sig@o@ env_stat@o@ fileops_auto@o@ fop_basic@o@ fop_rec@o@ \ env_recover@o@ env_region@o@ env_register@o@ env_sig@o@ \
fop_util@o@ hash_func@o@ hmac@o@ log@o@ log_archive@o@ \ env_stat@o@ fileops_auto@o@ fop_basic@o@ fop_rec@o@ fop_util@o@ \
log_compare@o@ log_debug@o@ log_get@o@ log_method@o@ log_print@o@ \ hash_func@o@ hmac@o@ log@o@ log_archive@o@ log_compare@o@ \
log_put@o@ log_stat@o@ mkpath@o@ mp_alloc@o@ mp_bh@o@ mp_fget@o@ \ log_debug@o@ log_get@o@ log_method@o@ log_print@o@ log_put@o@ \
log_stat@o@ mkpath@o@ mp_alloc@o@ mp_backup@o@ mp_bh@o@ mp_fget@o@ \
mp_fmethod@o@ mp_fopen@o@ mp_fput@o@ mp_fset@o@ mp_method@o@ \ mp_fmethod@o@ mp_fopen@o@ mp_fput@o@ mp_fset@o@ mp_method@o@ \
mp_mvcc@o@ mp_region@o@ mp_register@o@ mp_resize@o@ mp_stat@o@ \ mp_mvcc@o@ mp_region@o@ mp_register@o@ mp_resize@o@ mp_stat@o@ \
mp_sync@o@ mp_trickle@o@ openflags@o@ os_abort@o@ os_abs@o@ \ mp_sync@o@ mp_trickle@o@ openflags@o@ os_abort@o@ os_abs@o@ \
os_alloc@o@ os_clock@o@ os_cpu@o@ os_ctime@o@ os_config@o@ \ os_alloc@o@ os_clock@o@ os_cpu@o@ os_ctime@o@ os_config@o@ \
os_dir@o@ os_errno@o@ os_fid@o@ os_flock@o@ os_fsync@o@ \ os_dir@o@ os_errno@o@ os_fid@o@ os_flock@o@ os_fsync@o@ \
os_getenv@o@ os_handle@o@ os_map@o@ os_method@o@ os_mkdir@o@ \ os_getenv@o@ os_handle@o@ os_map@o@ os_method@o@ os_mkdir@o@ \
os_open@o@ os_pid@o@ os_rename@o@ os_root@o@ os_rpath@o@ \ os_open@o@ os_path@o@ os_pid@o@ os_rename@o@ os_root@o@ \
os_rw@o@ os_seek@o@ os_stack@o@ os_stat@o@ os_tmpdir@o@ \ os_rpath@o@ os_rw@o@ os_seek@o@ os_stack@o@ os_stat@o@ \
os_truncate@o@ os_uid@o@ os_unlink@o@ os_yield@o@ partition@o@ \ os_tmpdir@o@ os_truncate@o@ os_uid@o@ os_unlink@o@ os_yield@o@ \
seq_stat@o@ sequence@o@ sha1@o@ snprintf@o@ txn@o@ txn_auto@o@ \ partition@o@ seq_stat@o@ sequence@o@ sha1@o@ snprintf@o@ txn@o@ \
txn_chkpt@o@ txn_failchk@o@ txn_method@o@ txn_rec@o@ txn_recover@o@ \ txn_auto@o@ txn_chkpt@o@ txn_failchk@o@ txn_method@o@ txn_rec@o@ \
txn_region@o@ txn_stat@o@ txn_util@o@ xa@o@ xa_map@o@ zerofill@o@ txn_recover@o@ txn_region@o@ txn_stat@o@ txn_util@o@ xa@o@ \
xa_map@o@ zerofill@o@ \
C_OBJS= $(DTRACE_OBJS) @FINAL_OBJS@ C_OBJS= $(DTRACE_OBJS) @FINAL_OBJS@
CUTEST_OBJS=\ CUTEST_OBJS=\
CuTest@o@ CuTests@o@ Runner@o@ TestChannel@o@ TestDbTuner@o@ \ CuTest@o@ CuTests@o@ Runner@o@ TestChannel@o@ TestDbHotBackup@o@ \
TestEncryption@o@ TestEnvConfig@o@ TestEnvMethod@o@ \ TestDbTuner@o@ TestEncryption@o@ TestEnvConfig@o@ TestEnvMethod@o@ \
TestKeyExistErrorReturn@o@ TestPartial@o@ TestQueue@o@ \ TestKeyExistErrorReturn@o@ TestPartial@o@ TestQueue@o@ \
CXX_OBJS=\ CXX_OBJS=\
@ -315,13 +317,14 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/asm/AnnotationWriter.java \ $(JAVA_SLEEPYCAT)/asm/AnnotationWriter.java \
$(JAVA_SLEEPYCAT)/asm/Attribute.java \ $(JAVA_SLEEPYCAT)/asm/Attribute.java \
$(JAVA_SLEEPYCAT)/asm/ByteVector.java \ $(JAVA_SLEEPYCAT)/asm/ByteVector.java \
$(JAVA_SLEEPYCAT)/asm/ClassAdapter.java \
$(JAVA_SLEEPYCAT)/asm/ClassReader.java \ $(JAVA_SLEEPYCAT)/asm/ClassReader.java \
$(JAVA_SLEEPYCAT)/asm/ClassVisitor.java \ $(JAVA_SLEEPYCAT)/asm/ClassVisitor.java \
$(JAVA_SLEEPYCAT)/asm/ClassWriter.java \ $(JAVA_SLEEPYCAT)/asm/ClassWriter.java \
$(JAVA_SLEEPYCAT)/asm/Edge.java \ $(JAVA_SLEEPYCAT)/asm/Edge.java \
$(JAVA_SLEEPYCAT)/asm/FieldVisitor.java \ $(JAVA_SLEEPYCAT)/asm/FieldVisitor.java \
$(JAVA_SLEEPYCAT)/asm/FieldWriter.java \ $(JAVA_SLEEPYCAT)/asm/FieldWriter.java \
$(JAVA_SLEEPYCAT)/asm/Frame.java \
$(JAVA_SLEEPYCAT)/asm/Handle.java \
$(JAVA_SLEEPYCAT)/asm/Handler.java \ $(JAVA_SLEEPYCAT)/asm/Handler.java \
$(JAVA_SLEEPYCAT)/asm/Item.java \ $(JAVA_SLEEPYCAT)/asm/Item.java \
$(JAVA_SLEEPYCAT)/asm/Label.java \ $(JAVA_SLEEPYCAT)/asm/Label.java \
@ -401,6 +404,8 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/collections/TransactionWorker.java \ $(JAVA_SLEEPYCAT)/collections/TransactionWorker.java \
$(JAVA_SLEEPYCAT)/collections/TupleSerialFactory.java \ $(JAVA_SLEEPYCAT)/collections/TupleSerialFactory.java \
$(JAVA_SLEEPYCAT)/compat/DbCompat.java \ $(JAVA_SLEEPYCAT)/compat/DbCompat.java \
$(JAVA_SLEEPYCAT)/db/BackupHandler.java \
$(JAVA_SLEEPYCAT)/db/BackupOptions.java \
$(JAVA_SLEEPYCAT)/db/BtreeCompressor.java \ $(JAVA_SLEEPYCAT)/db/BtreeCompressor.java \
$(JAVA_SLEEPYCAT)/db/BtreePrefixCalculator.java \ $(JAVA_SLEEPYCAT)/db/BtreePrefixCalculator.java \
$(JAVA_SLEEPYCAT)/db/BtreeStats.java \ $(JAVA_SLEEPYCAT)/db/BtreeStats.java \
@ -478,6 +483,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/db/ReplicationLeaseExpiredException.java \ $(JAVA_SLEEPYCAT)/db/ReplicationLeaseExpiredException.java \
$(JAVA_SLEEPYCAT)/db/ReplicationLockoutException.java \ $(JAVA_SLEEPYCAT)/db/ReplicationLockoutException.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerAckPolicy.java \ $(JAVA_SLEEPYCAT)/db/ReplicationManagerAckPolicy.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerConnectionStatus.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerMessageDispatch.java \ $(JAVA_SLEEPYCAT)/db/ReplicationManagerMessageDispatch.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerSite.java \ $(JAVA_SLEEPYCAT)/db/ReplicationManagerSite.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerSiteConfig.java \ $(JAVA_SLEEPYCAT)/db/ReplicationManagerSiteConfig.java \
@ -539,6 +545,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/persist/PrimaryKeyValueAdapter.java \ $(JAVA_SLEEPYCAT)/persist/PrimaryKeyValueAdapter.java \
$(JAVA_SLEEPYCAT)/persist/SecondaryIndex.java \ $(JAVA_SLEEPYCAT)/persist/SecondaryIndex.java \
$(JAVA_SLEEPYCAT)/persist/StoreConfig.java \ $(JAVA_SLEEPYCAT)/persist/StoreConfig.java \
$(JAVA_SLEEPYCAT)/persist/StoreConfigBeanInfo.java \
$(JAVA_SLEEPYCAT)/persist/StoreExistsException.java \ $(JAVA_SLEEPYCAT)/persist/StoreExistsException.java \
$(JAVA_SLEEPYCAT)/persist/StoreNotFoundException.java \ $(JAVA_SLEEPYCAT)/persist/StoreNotFoundException.java \
$(JAVA_SLEEPYCAT)/persist/SubIndex.java \ $(JAVA_SLEEPYCAT)/persist/SubIndex.java \
@ -550,6 +557,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/persist/evolve/Deleter.java \ $(JAVA_SLEEPYCAT)/persist/evolve/Deleter.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EntityConverter.java \ $(JAVA_SLEEPYCAT)/persist/evolve/EntityConverter.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveConfig.java \ $(JAVA_SLEEPYCAT)/persist/evolve/EvolveConfig.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveConfigBeanInfo.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveEvent.java \ $(JAVA_SLEEPYCAT)/persist/evolve/EvolveEvent.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveInternal.java \ $(JAVA_SLEEPYCAT)/persist/evolve/EvolveInternal.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveListener.java \ $(JAVA_SLEEPYCAT)/persist/evolve/EvolveListener.java \
@ -627,6 +635,8 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/persist/raw/RawObject.java \ $(JAVA_SLEEPYCAT)/persist/raw/RawObject.java \
$(JAVA_SLEEPYCAT)/persist/raw/RawStore.java \ $(JAVA_SLEEPYCAT)/persist/raw/RawStore.java \
$(JAVA_SLEEPYCAT)/persist/raw/RawType.java \ $(JAVA_SLEEPYCAT)/persist/raw/RawType.java \
$(JAVA_SLEEPYCAT)/util/ClassResolver.java \
$(JAVA_SLEEPYCAT)/util/ConfigBeanInfoBase.java \
$(JAVA_SLEEPYCAT)/util/ErrorBuffer.java \ $(JAVA_SLEEPYCAT)/util/ErrorBuffer.java \
$(JAVA_SLEEPYCAT)/util/ExceptionUnwrapper.java \ $(JAVA_SLEEPYCAT)/util/ExceptionUnwrapper.java \
$(JAVA_SLEEPYCAT)/util/ExceptionWrapper.java \ $(JAVA_SLEEPYCAT)/util/ExceptionWrapper.java \
@ -1306,10 +1316,12 @@ CuTests@o@: $(testdir)/c/cutest/CuTests.c
$(CC) $(CUTEST_FLAGS) $? $(CC) $(CUTEST_FLAGS) $?
Runner@o@: $(testdir)/c/cutest/Runner.c Runner@o@: $(testdir)/c/cutest/Runner.c
$(CC) $(CUTEST_FLAGS) $? $(CC) $(CUTEST_FLAGS) $?
TestDbTuner@o@: $(testdir)/c/suites/TestDbTuner.c
$(CC) $(CUTEST_FLAGS) $?
TestChannel@o@: $(testdir)/c/suites/TestChannel.c TestChannel@o@: $(testdir)/c/suites/TestChannel.c
$(CC) $(CUTEST_FLAGS) $? $(CC) $(CUTEST_FLAGS) $?
TestDbHotBackup@o@: $(testdir)/c/suites/TestDbHotBackup.c
$(CC) $(CUTEST_FLAGS) $?
TestDbTuner@o@: $(testdir)/c/suites/TestDbTuner.c
$(CC) $(CUTEST_FLAGS) $?
TestEncryption@o@: $(testdir)/c/suites/TestEncryption.c TestEncryption@o@: $(testdir)/c/suites/TestEncryption.c
$(CC) $(CUTEST_FLAGS) $? $(CC) $(CUTEST_FLAGS) $?
TestEnvConfig@o@: $(testdir)/c/suites/TestEnvConfig.c TestEnvConfig@o@: $(testdir)/c/suites/TestEnvConfig.c
@ -1899,6 +1911,8 @@ db_autop@o@: $(srcdir)/db/db_autop.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
db_byteorder@o@: $(srcdir)/common/db_byteorder.c db_byteorder@o@: $(srcdir)/common/db_byteorder.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
db_backup@o@: $(srcdir)/db/db_backup.c
$(CC) $(CFLAGS) $?
db_cam@o@: $(srcdir)/db/db_cam.c db_cam@o@: $(srcdir)/db/db_cam.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
db_cds@o@: $(srcdir)/db/db_cds.c db_cds@o@: $(srcdir)/db/db_cds.c
@ -1991,6 +2005,8 @@ env_alloc@o@: $(srcdir)/env/env_alloc.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
env_config@o@: $(srcdir)/env/env_config.c env_config@o@: $(srcdir)/env/env_config.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
env_backup@o@: $(srcdir)/env/env_backup.c
$(CC) $(CFLAGS) $?
env_failchk@o@: $(srcdir)/env/env_failchk.c env_failchk@o@: $(srcdir)/env/env_failchk.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
env_file@o@: $(srcdir)/env/env_file.c env_file@o@: $(srcdir)/env/env_file.c
@ -2063,6 +2079,8 @@ heap_auto@o@: $(srcdir)/heap/heap_auto.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
heap_autop@o@: $(srcdir)/heap/heap_autop.c heap_autop@o@: $(srcdir)/heap/heap_autop.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
heap_backup@o@: $(srcdir)/heap/heap_backup.c
$(CC) $(CFLAGS) $?
heap_conv@o@: $(srcdir)/heap/heap_conv.c heap_conv@o@: $(srcdir)/heap/heap_conv.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
heap_method@o@: $(srcdir)/heap/heap_method.c heap_method@o@: $(srcdir)/heap/heap_method.c
@ -2141,6 +2159,8 @@ mp_alloc@o@: $(srcdir)/mp/mp_alloc.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
mp_bh@o@: $(srcdir)/mp/mp_bh.c mp_bh@o@: $(srcdir)/mp/mp_bh.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
mp_backup@o@: $(srcdir)/mp/mp_backup.c
$(CC) $(CFLAGS) $?
mp_fget@o@: $(srcdir)/mp/mp_fget.c mp_fget@o@: $(srcdir)/mp/mp_fget.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
mp_fmethod@o@: $(srcdir)/mp/mp_fmethod.c mp_fmethod@o@: $(srcdir)/mp/mp_fmethod.c
@ -2229,6 +2249,8 @@ os_mkdir@o@: $(srcdir)/@OSDIR@/os_mkdir.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
os_open@o@: $(srcdir)/@OSDIR@/os_open.c os_open@o@: $(srcdir)/@OSDIR@/os_open.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
os_path@o@: $(srcdir)/os/os_path.c
$(CC) $(CFLAGS) $?
os_pid@o@: $(srcdir)/os/os_pid.c os_pid@o@: $(srcdir)/os/os_pid.c
$(CC) $(CFLAGS) $? $(CC) $(CFLAGS) $?
os_qnx_fsync@o@: $(srcdir)/os_qnx/os_qnx_fsync.c os_qnx_fsync@o@: $(srcdir)/os_qnx/os_qnx_fsync.c

6
dist/RELEASE vendored
View file

@ -4,13 +4,13 @@ DB_VERSION_FAMILY=11
DB_VERSION_LETTER="g" DB_VERSION_LETTER="g"
DB_VERSION_RELEASE=2 DB_VERSION_RELEASE=2
DB_VERSION_MAJOR=5 DB_VERSION_MAJOR=5
DB_VERSION_MINOR=2 DB_VERSION_MINOR=3
DB_VERSION_PATCH=28 DB_VERSION_PATCH=21
DB_VERSION="$DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH" DB_VERSION="$DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH"
DB_VERSION_FULL="$DB_VERSION_FAMILY.$DB_VERSION_RELEASE.$DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH" DB_VERSION_FULL="$DB_VERSION_FAMILY.$DB_VERSION_RELEASE.$DB_VERSION_MAJOR.$DB_VERSION_MINOR.$DB_VERSION_PATCH"
DB_VERSION_UNIQUE_NAME=`printf "_%d%03d" $DB_VERSION_MAJOR $DB_VERSION_MINOR` DB_VERSION_UNIQUE_NAME=`printf "_%d%03d" $DB_VERSION_MAJOR $DB_VERSION_MINOR`
DB_RELEASE_DATE="June 10, 2011" DB_RELEASE_DATE="May 11, 2012"
DB_VERSION_STRING="Berkeley DB $DB_VERSION: ($DB_RELEASE_DATE)" DB_VERSION_STRING="Berkeley DB $DB_VERSION: ($DB_RELEASE_DATE)"
DB_VERSION_FULL_STRING="Berkeley DB $DB_VERSION_FAMILY$DB_VERSION_LETTER Release $DB_VERSION_RELEASE, library version $DB_VERSION_FULL: ($DB_RELEASE_DATE)" DB_VERSION_FULL_STRING="Berkeley DB $DB_VERSION_FAMILY$DB_VERSION_LETTER Release $DB_VERSION_RELEASE, library version $DB_VERSION_FULL: ($DB_RELEASE_DATE)"

View file

@ -1,4 +1,4 @@
# Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
# Detect mmap capability: If the file underlying an mmap is extended, # Detect mmap capability: If the file underlying an mmap is extended,
# does the addressable memory grow too? # does the addressable memory grow too?

47
dist/aclocal/mutex.m4 vendored
View file

@ -156,7 +156,8 @@ if test "$db_cv_mingw" = yes; then
fi fi
if test "$db_cv_mutex" = no; then if test "$db_cv_mutex" = no; then
# User-specified POSIX or UI mutexes. # Check for the availability of POSIX or UI mutexes; also check
# whether the user has specified POSIX with --enable-posixmutexes.
# #
# There are two different reasons to specify mutexes: First, the # There are two different reasons to specify mutexes: First, the
# application is already using one type of mutex and doesn't want # application is already using one type of mutex and doesn't want
@ -178,21 +179,35 @@ if test "$db_cv_mutex" = no; then
# POSIX.1 pthreads: pthread_XXX # POSIX.1 pthreads: pthread_XXX
# #
# If the user specified we use POSIX pthreads mutexes, and we fail to # If we find POSIX pthreads mutexes but not the full interface,
# find the full interface, try and configure for just intra-process # try to configure for just intra-process support.
# support. case "$host_os" in
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then darwin*)
LIBS="$LIBS -lpthread" # Mac OS 10.7 Lion has broken pthread_*_setpshared() calls.
AM_PTHREADS_SHARED(POSIX/pthreads/library) # Most BSD-like operating systems have pointers in their mutex
AM_PTHREADS_CONDVAR_DUPINITCHK # and condition variables, and cannot be shared between
AM_PTHREADS_RWLOCKVAR_DUPINITCHK # proceses. Earlier Mac OS releases correctly returned EINVAL
LIBS="$orig_libs" # from *_setpshared(PTHREAD_PROCESS_SHARED), but 10.7 returns
fi # success. Since we can't trust those calls anymore we now
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then # avoid these probes for multiprocess pthreads.
AM_PTHREADS_SHARED(POSIX/pthreads) ;;
AM_PTHREADS_CONDVAR_DUPINITCHK *)
AM_PTHREADS_RWLOCKVAR_DUPINITCHK if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
fi LIBS="$LIBS -lpthread"
AM_PTHREADS_SHARED(POSIX/pthreads/library)
AM_PTHREADS_CONDVAR_DUPINITCHK
AM_PTHREADS_RWLOCKVAR_DUPINITCHK
LIBS="$orig_libs"
fi
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
AM_PTHREADS_SHARED(POSIX/pthreads)
AM_PTHREADS_CONDVAR_DUPINITCHK
AM_PTHREADS_RWLOCKVAR_DUPINITCHK
fi
;;
esac
# We probe for private pthreads only when the user has asked for posix
# mutexes and we don't have a multiprocess pthreads library available.
if test "$db_cv_mutex" = posix_only; then if test "$db_cv_mutex" = posix_only; then
AM_PTHREADS_PRIVATE(POSIX/pthreads/private) AM_PTHREADS_PRIVATE(POSIX/pthreads/private)
AM_PTHREADS_CONDVAR_DUPINITCHK AM_PTHREADS_CONDVAR_DUPINITCHK

View file

@ -368,6 +368,26 @@ AC_ARG_ENABLE(umrw,
[db_cv_umrw="$enable_umrw"], [db_cv_umrw="no"]) [db_cv_umrw="$enable_umrw"], [db_cv_umrw="no"])
AC_MSG_RESULT($db_cv_umrw) AC_MSG_RESULT($db_cv_umrw)
# Solaris, AI/X, OS/X and other BSD-derived systems default to POSIX-conforming
# disk i/o: A single read or write call is atomic. Other systems do not
# guarantee atomicity; in particular Linux and Microsoft Windows.
atomicfileread="no"
case "$host_os" in
solaris* | aix* | bsdi3* | freebsd* | darwin*)
atomicfileread="yes";;
esac
AC_MSG_CHECKING(if --enable-atomicfileread option specified)
AC_ARG_ENABLE(atomicfileread,
[AC_HELP_STRING([--enable-atomicfileread],
[Indicate that the platform reads and writes files atomically.])],
[db_cv_atomicfileread="$enable_atomicfileread"], [db_cv_atomicfileread=$atomicfileread])
AC_MSG_RESULT($db_cv_atomicfileread)
if test "$db_cv_atomicfileread" = "yes"; then
AC_DEFINE(HAVE_ATOMICFILEREAD)
AH_TEMPLATE(HAVE_ATOMICFILEREAD,
[Define to 1 if platform reads and writes files atomically.])
fi
# Cryptography support. # Cryptography support.
# Until Berkeley DB 5.0, this was a simple yes/no decision. # Until Berkeley DB 5.0, this was a simple yes/no decision.
# With the addition of support for Intel Integrated Performance Primitives (ipp) # With the addition of support for Intel Integrated Performance Primitives (ipp)

6
dist/aclocal/tcl.m4 vendored
View file

@ -87,10 +87,10 @@ AC_DEFUN(SC_LOAD_TCLCONFIG, [
AC_MSG_RESULT([file not found]) AC_MSG_RESULT([file not found])
fi fi
# DB requires at least version 8.4. # DB requires at least version 8.5.
if test ${TCL_MAJOR_VERSION} -lt 8 \ if test ${TCL_MAJOR_VERSION} -lt 8 \
-o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 4; then -o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 5; then
AC_MSG_ERROR([Berkeley DB requires Tcl version 8.4 or better.]) AC_MSG_ERROR([Berkeley DB requires Tcl version 8.5 or better.])
fi fi
# The eval is required to do substitution (for example, the TCL_DBGX # The eval is required to do substitution (for example, the TCL_DBGX

17
dist/api_flags vendored
View file

@ -1,6 +1,16 @@
db_env_create db_env_create
DB_CXX_NO_EXCEPTIONS # C++: return error values DB_CXX_NO_EXCEPTIONS # C++: return error values
DbEnv.backup
# Remove all files from the target directory tree first.
DB_BACKUP_CLEAN
DB_BACKUP_FILES # Copy plain files too.
DB_BACKUP_NO_LOGS # Don't backup log files.
DB_BACKUP_SINGLE_DIR # All files go to a single directory.
DB_BACKUP_UPDATE # Incremental backup.
DB_CREATE # Create the target directories.
DB_EXCL # Error if a target file exists.
DbEnv.close DbEnv.close
# Sync database when automatically closing its db handles. # Sync database when automatically closing its db handles.
DB_FORCESYNC DB_FORCESYNC
@ -68,6 +78,7 @@ DbEnv.lock_stat_print
DbEnv.lock_vec DbEnv.lock_vec
DB_LOCK_CHECK # UNDOC: check for a lock DB_LOCK_CHECK # UNDOC: check for a lock
DB_LOCK_IGNORE_REC # UNDOC: get lock during recovery
DB_LOCK_NOWAIT # Don't wait for an unavailable lock DB_LOCK_NOWAIT # Don't wait for an unavailable lock
DB_LOCK_RECORD # UNDOC: record lock DB_LOCK_RECORD # UNDOC: record lock
DB_LOCK_SET_TIMEOUT # UNDOC: set lock timeout DB_LOCK_SET_TIMEOUT # UNDOC: set lock timeout
@ -231,6 +242,7 @@ DbEnv.set_timeout
DB_SET_REG_TIMEOUT # Set dbregister timeout DB_SET_REG_TIMEOUT # Set dbregister timeout
DbEnv.set_verbose DbEnv.set_verbose
DB_VERB_BACKUP # Backup information
DB_VERB_DEADLOCK # Deadlock detection information DB_VERB_DEADLOCK # Deadlock detection information
DB_VERB_FILEOPS # Major file operations DB_VERB_FILEOPS # Major file operations
DB_VERB_FILEOPS_ALL # All file operations DB_VERB_FILEOPS_ALL # All file operations
@ -289,6 +301,7 @@ DbLogc.get
DbMpoolFile.close DbMpoolFile.close
DB_MPOOL_DISCARD # UNDOC: Discard file DB_MPOOL_DISCARD # UNDOC: Discard file
DB_FLUSH # UNDOC: opened to flush a page
DB_MPOOL_NOLOCK # UNDOC: Already have mpf locked DB_MPOOL_NOLOCK # UNDOC: Already have mpf locked
DbMpoolFile.get DbMpoolFile.get
@ -305,6 +318,7 @@ DbMpoolFile.open
DB_DIRECT # Don't buffer the file in the OS DB_DIRECT # Don't buffer the file in the OS
DB_DURABLE_UNKNOWN # UNDOC: Durability on open DB_DURABLE_UNKNOWN # UNDOC: Durability on open
DB_EXTENT # UNDOC: dealing with an extent DB_EXTENT # UNDOC: dealing with an extent
DB_FLUSH # UNDOC: opened to flush a page
DB_MULTIVERSION # Multiversion concurrency control DB_MULTIVERSION # Multiversion concurrency control
DB_NOMMAP # Don't mmap underlying file DB_NOMMAP # Don't mmap underlying file
DB_ODDFILESIZE # Truncate file to N * pgsize DB_ODDFILESIZE # Truncate file to N * pgsize
@ -435,7 +449,8 @@ Db.open
# The following flags aren't actually part of the Db.open method # The following flags aren't actually part of the Db.open method
# API, but they are accepted by the underlying __db_open function. # API, but they are accepted by the underlying __db_open function.
DB_DURABLE_UNKNOWN # UNDOC: Durability on open DB_DURABLE_UNKNOWN # UNDOC: Durability on open
DB_INTERNAL_DB # UNDOC: Open db in env dir DB_INTERNAL_PERSISTENT_DB # UNDOC: Open db in metadata dir
DB_INTERNAL_TEMPORARY_DB # UNDOC: Open db in env home dir
DB_NOERROR # UNDOC: Don't raise errors. DB_NOERROR # UNDOC: Don't raise errors.
DB_ODDFILESIZE # UNDOC: Truncate file to N * pgsize DB_ODDFILESIZE # UNDOC: Truncate file to N * pgsize
DB_WRITEOPEN # UNDOC: open with write lock DB_WRITEOPEN # UNDOC: open with write lock

2
dist/api_flags.c vendored
View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
*/ */
#include <sys/types.h> #include <sys/types.h>

4
dist/buildpkg vendored
View file

@ -57,8 +57,8 @@ START_DIR=`pwd`
D=`pwd`/../release D=`pwd`/../release
R="$D/db-${VERSION}" R="$D/db-${VERSION}"
RNC="$D/db-$VERSION.NC" RNC="$D/db-$VERSION.NC"
DOCS=`pwd`/../../docs_books DOCS=`pwd`/../../docs_books-5.3
DB_ADDONS=`pwd`/../../db_addons DB_ADDONS=`pwd`/../../db_addons-5.3
if [ ! -d $DB_ADDONS ]; then if [ ! -d $DB_ADDONS ]; then
echo "buildpkg requires a db_addons repository at the same level as the db repository." echo "buildpkg requires a db_addons repository at the same level as the db repository."

25
dist/config.guess vendored
View file

@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011 Free Software Foundation, Inc. # 2011 Free Software Foundation, Inc.
timestamp='2011-02-02' timestamp='2011-11-11'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -792,13 +792,12 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;; exit ;;
*:FreeBSD:*:*) *:FreeBSD:*:*)
case ${UNAME_MACHINE} in UNAME_PROCESSOR=`/usr/bin/uname -p`
pc98) case ${UNAME_PROCESSOR} in
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
amd64) amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*) *)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac esac
exit ;; exit ;;
i*:CYGWIN*:*) i*:CYGWIN*:*)
@ -807,6 +806,9 @@ EOF
*:MINGW*:*) *:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32 echo ${UNAME_MACHINE}-pc-mingw32
exit ;; exit ;;
i*:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*) i*:windows32*:*)
# uname -m includes "-pc" on this system. # uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32 echo ${UNAME_MACHINE}-mingw32
@ -882,7 +884,13 @@ EOF
then then
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
else else
echo ${UNAME_MACHINE}-unknown-linux-gnueabi if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
else
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
fi
fi fi
exit ;; exit ;;
avr32*:Linux:*:*) avr32*:Linux:*:*)
@ -897,6 +905,9 @@ EOF
frv:Linux:*:*) frv:Linux:*:*)
echo frv-unknown-linux-gnu echo frv-unknown-linux-gnu
exit ;; exit ;;
hexagon:Linux:*:*)
echo hexagon-unknown-linux-gnu
exit ;;
i*86:Linux:*:*) i*86:Linux:*:*)
LIBC=gnu LIBC=gnu
eval $set_cc_for_build eval $set_cc_for_build
@ -972,7 +983,7 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
tile*:Linux:*:*) tile*:Linux:*:*)
echo ${UNAME_MACHINE}-tilera-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
vax:Linux:*:*) vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu echo ${UNAME_MACHINE}-dec-linux-gnu

3
dist/config.hin vendored
View file

@ -36,6 +36,9 @@
/* Define to 1 if you have the `atol' function. */ /* Define to 1 if you have the `atol' function. */
#undef HAVE_ATOL #undef HAVE_ATOL
/* Define to 1 if platform reads and writes files atomically. */
#undef HAVE_ATOMICFILEREAD
/* Define to 1 to use Solaris library routes for atomic operations. */ /* Define to 1 to use Solaris library routes for atomic operations. */
#undef HAVE_ATOMIC_SOLARIS #undef HAVE_ATOMIC_SOLARIS

37
dist/config.sub vendored
View file

@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011 Free Software Foundation, Inc. # 2011 Free Software Foundation, Inc.
timestamp='2011-03-23' timestamp='2011-11-11'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@ -251,13 +251,17 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \ | am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| be32 | be64 \
| bfin \ | bfin \
| c4x | clipper \ | c4x | clipper \
| d10v | d30v | dlx | dsp16xx \ | d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \ | i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \ | ip2k | iq2000 \
| le32 | le64 \
| lm32 \ | lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \ | m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep | metag \ | maxq | mb | microblaze | mcore | mep | metag \
@ -291,7 +295,7 @@ case $basic_machine in
| pdp10 | pdp11 | pj | pjl \ | pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \ | pyramid \
| rx \ | rl78 | rx \
| score \ | score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \ | sh64 | sh64le \
@ -300,7 +304,7 @@ case $basic_machine in
| spu \ | spu \
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \ | ubicom32 \
| v850 | v850e \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \ | we32k \
| x86 | xc16x | xstormy16 | xtensa \ | x86 | xc16x | xstormy16 | xtensa \
| z8k | z80) | z8k | z80)
@ -357,6 +361,7 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \ | avr-* | avr32-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \ | bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \ | clipper-* | craynv-* | cydra-* \
@ -365,8 +370,10 @@ case $basic_machine in
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \ | h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \ | i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \ | ip2k-* | iq2000-* \
| le32-* | le64-* \
| lm32-* \ | lm32-* \
| m32c-* | m32r-* | m32rle-* \ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@ -400,7 +407,7 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \ | pyramid-* \
| romp-* | rs6000-* | rx-* \ | rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
@ -408,10 +415,11 @@ case $basic_machine in
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
| tahoe-* \ | tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile-* | tilegx-* \ | tile*-* \
| tron-* \ | tron-* \
| ubicom32-* \ | ubicom32-* \
| v850-* | v850e-* | vax-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| we32k-* \ | we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \ | xstormy16-* | xtensa*-* \
@ -808,10 +816,18 @@ case $basic_machine in
ms1-*) ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;; ;;
msys)
basic_machine=i386-pc
os=-msys
;;
mvs) mvs)
basic_machine=i370-ibm basic_machine=i370-ibm
os=-mvs os=-mvs
;; ;;
nacl)
basic_machine=le32-unknown
os=-nacl
;;
ncr3000) ncr3000)
basic_machine=i486-ncr basic_machine=i486-ncr
os=-sysv4 os=-sysv4
@ -1120,13 +1136,8 @@ case $basic_machine in
basic_machine=t90-cray basic_machine=t90-cray
os=-unicos os=-unicos
;; ;;
# This must be matched before tile*.
tilegx*)
basic_machine=tilegx-unknown
os=-linux-gnu
;;
tile*) tile*)
basic_machine=tile-unknown basic_machine=$basic_machine-unknown
os=-linux-gnu os=-linux-gnu
;; ;;
tx39) tx39)
@ -1336,7 +1347,7 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \ | -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \ | -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \ | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \ | -uxpv* | -beos* | -mpeix* | -udk* \

116
dist/configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for Berkeley DB 5.2.28. # Generated by GNU Autoconf 2.68 for Berkeley DB 5.3.21.
# #
# Report bugs to <Oracle Technology Network Berkeley DB forum>. # Report bugs to <Oracle Technology Network Berkeley DB forum>.
# #
@ -569,15 +569,15 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='Berkeley DB' PACKAGE_NAME='Berkeley DB'
PACKAGE_TARNAME='db-5.2.28' PACKAGE_TARNAME='db-5.3.21'
PACKAGE_VERSION='5.2.28' PACKAGE_VERSION='5.3.21'
PACKAGE_STRING='Berkeley DB 5.2.28' PACKAGE_STRING='Berkeley DB 5.3.21'
PACKAGE_BUGREPORT='Oracle Technology Network Berkeley DB forum' PACKAGE_BUGREPORT='Oracle Technology Network Berkeley DB forum'
PACKAGE_URL='' PACKAGE_URL=''
ac_unique_file="../src/db/db.c" ac_unique_file="../src/db/db.c"
enable_option_checking=no enable_option_checking=no
ac_default_prefix=/usr/local/BerkeleyDB.5.2 ac_default_prefix=/usr/local/BerkeleyDB.5.3
# Factoring default headers for most tests. # Factoring default headers for most tests.
ac_includes_default="\ ac_includes_default="\
#include <stdio.h> #include <stdio.h>
@ -867,6 +867,7 @@ enable_systemtap
enable_perfmon_statistics enable_perfmon_statistics
enable_uimutexes enable_uimutexes
enable_umrw enable_umrw
enable_atomicfileread
enable_cryptography enable_cryptography
with_cryptography with_cryptography
with_mutex with_mutex
@ -1439,7 +1440,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures Berkeley DB 5.2.28 to adapt to many kinds of systems. \`configure' configures Berkeley DB 5.3.21 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1488,7 +1489,7 @@ Fine tuning of the installation directories:
--localedir=DIR locale-dependent data [DATAROOTDIR/locale] --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man] --mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root --docdir=DIR documentation root
[DATAROOTDIR/doc/db-5.2.28] [DATAROOTDIR/doc/db-5.3.21]
--htmldir=DIR html documentation [DOCDIR] --htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR]
@ -1510,7 +1511,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of Berkeley DB 5.2.28:";; short | recursive ) echo "Configuration of Berkeley DB 5.3.21:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1564,6 +1565,8 @@ Optional Features:
statistics values [default=no]. statistics values [default=no].
--enable-uimutexes Force use of Unix International mutexes. --enable-uimutexes Force use of Unix International mutexes.
--enable-umrw Mask harmless uninitialized memory read/writes. --enable-umrw Mask harmless uninitialized memory read/writes.
--enable-atomicfileread Indicate that the platform reads and writes files
atomically.
--enable-shared[=PKGS] build shared libraries [default=yes] --enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS] --enable-fast-install[=PKGS]
@ -1668,7 +1671,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
Berkeley DB configure 5.2.28 Berkeley DB configure 5.3.21
generated by GNU Autoconf 2.68 generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc. Copyright (C) 2010 Free Software Foundation, Inc.
@ -2447,7 +2450,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by Berkeley DB $as_me 5.2.28, which was It was created by Berkeley DB $as_me 5.3.21, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@ $ $0 $@
@ -3009,13 +3012,13 @@ DB_VERSION_RELEASE="2"
DB_VERSION_MAJOR="5" DB_VERSION_MAJOR="5"
DB_VERSION_MINOR="2" DB_VERSION_MINOR="3"
DB_VERSION_PATCH="28" DB_VERSION_PATCH="21"
DB_VERSION_STRING='"Berkeley DB 5.2.28: (June 10, 2011)"' DB_VERSION_STRING='"Berkeley DB 5.3.21: (May 11, 2012)"'
DB_VERSION_FULL_STRING='"Berkeley DB 11g Release 2, library version 11.2.5.2.28: (June 10, 2011)"' DB_VERSION_FULL_STRING='"Berkeley DB 11g Release 2, library version 11.2.5.3.21: (May 11, 2012)"'
# Process all options before using them. # Process all options before using them.
@ -3621,6 +3624,31 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_umrw" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_umrw" >&5
$as_echo "$db_cv_umrw" >&6; } $as_echo "$db_cv_umrw" >&6; }
# Solaris, AI/X, OS/X and other BSD-derived systems default to POSIX-conforming
# disk i/o: A single read or write call is atomic. Other systems do not
# guarantee atomicity; in particular Linux and Microsoft Windows.
atomicfileread="no"
case "$host_os" in
solaris* | aix* | bsdi3* | freebsd* | darwin*)
atomicfileread="yes";;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if --enable-atomicfileread option specified" >&5
$as_echo_n "checking if --enable-atomicfileread option specified... " >&6; }
# Check whether --enable-atomicfileread was given.
if test "${enable_atomicfileread+set}" = set; then :
enableval=$enable_atomicfileread; db_cv_atomicfileread="$enable_atomicfileread"
else
db_cv_atomicfileread=$atomicfileread
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_atomicfileread" >&5
$as_echo "$db_cv_atomicfileread" >&6; }
if test "$db_cv_atomicfileread" = "yes"; then
$as_echo "#define HAVE_ATOMICFILEREAD 1" >>confdefs.h
fi
# Cryptography support. # Cryptography support.
# Until Berkeley DB 5.0, this was a simple yes/no decision. # Until Berkeley DB 5.0, this was a simple yes/no decision.
# With the addition of support for Intel Integrated Performance Primitives (ipp) # With the addition of support for Intel Integrated Performance Primitives (ipp)
@ -3729,7 +3757,7 @@ $as_echo "$with_uniquename" >&6; }
else else
db_cv_uniquename="yes" db_cv_uniquename="yes"
if test "$with_uniquename" = "yes"; then if test "$with_uniquename" = "yes"; then
DB_VERSION_UNIQUE_NAME="_5002" DB_VERSION_UNIQUE_NAME="_5003"
else else
DB_VERSION_UNIQUE_NAME="$with_uniquename" DB_VERSION_UNIQUE_NAME="$with_uniquename"
fi fi
@ -17857,7 +17885,7 @@ else
JAVA_TEST=Test.java JAVA_TEST=Test.java
CLASS_TEST=Test.class CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST cat << \EOF > $JAVA_TEST
/* #line 17860 "configure" */ /* #line 17888 "configure" */
public class Test { public class Test {
} }
EOF EOF
@ -18120,7 +18148,7 @@ EOF
if uudecode$EXEEXT Test.uue; then if uudecode$EXEEXT Test.uue; then
ac_cv_prog_uudecode_base64=yes ac_cv_prog_uudecode_base64=yes
else else
echo "configure: 18123: uudecode had trouble decoding base 64 file 'Test.uue'" >&5 echo "configure: 18151: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
echo "configure: failed file was:" >&5 echo "configure: failed file was:" >&5
cat Test.uue >&5 cat Test.uue >&5
ac_cv_prog_uudecode_base64=no ac_cv_prog_uudecode_base64=no
@ -18238,7 +18266,7 @@ else
JAVA_TEST=Test.java JAVA_TEST=Test.java
CLASS_TEST=Test.class CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST cat << \EOF > $JAVA_TEST
/* #line 18241 "configure" */ /* #line 18269 "configure" */
public class Test { public class Test {
} }
EOF EOF
@ -18273,7 +18301,7 @@ JAVA_TEST=Test.java
CLASS_TEST=Test.class CLASS_TEST=Test.class
TEST=Test TEST=Test
cat << \EOF > $JAVA_TEST cat << \EOF > $JAVA_TEST
/* [#]line 18276 "configure" */ /* [#]line 18304 "configure" */
public class Test { public class Test {
public static void main (String args[]) { public static void main (String args[]) {
System.exit (0); System.exit (0);
@ -20501,7 +20529,8 @@ if test "$db_cv_mingw" = yes; then
fi fi
if test "$db_cv_mutex" = no; then if test "$db_cv_mutex" = no; then
# User-specified POSIX or UI mutexes. # Check for the availability of POSIX or UI mutexes; also check
# whether the user has specified POSIX with --enable-posixmutexes.
# #
# There are two different reasons to specify mutexes: First, the # There are two different reasons to specify mutexes: First, the
# application is already using one type of mutex and doesn't want # application is already using one type of mutex and doesn't want
@ -20523,11 +20552,21 @@ if test "$db_cv_mutex" = no; then
# POSIX.1 pthreads: pthread_XXX # POSIX.1 pthreads: pthread_XXX
# #
# If the user specified we use POSIX pthreads mutexes, and we fail to # If we find POSIX pthreads mutexes but not the full interface,
# find the full interface, try and configure for just intra-process # try to configure for just intra-process support.
# support. case "$host_os" in
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then darwin*)
LIBS="$LIBS -lpthread" # Mac OS 10.7 Lion has broken pthread_*_setpshared() calls.
# Most BSD-like operating systems have pointers in their mutex
# and condition variables, and cannot be shared between
# proceses. Earlier Mac OS releases correctly returned EINVAL
# from *_setpshared(PTHREAD_PROCESS_SHARED), but 10.7 returns
# success. Since we can't trust those calls anymore we now
# avoid these probes for multiprocess pthreads.
;;
*)
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
LIBS="$LIBS -lpthread"
if test "$cross_compiling" = yes; then : if test "$cross_compiling" = yes; then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@ -20699,9 +20738,9 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext conftest.$ac_objext conftest.beam conftest.$ac_ext
fi fi
LIBS="$orig_libs" LIBS="$orig_libs"
fi fi
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
if test "$cross_compiling" = yes; then : if test "$cross_compiling" = yes; then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@ -20873,7 +20912,11 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext conftest.$ac_objext conftest.beam conftest.$ac_ext
fi fi
fi fi
;;
esac
# We probe for private pthreads only when the user has asked for posix
# mutexes and we don't have a multiprocess pthreads library available.
if test "$db_cv_mutex" = posix_only; then if test "$db_cv_mutex" = posix_only; then
if test "$cross_compiling" = yes; then : if test "$cross_compiling" = yes; then :
@ -24056,10 +24099,10 @@ $as_echo "loading" >&6; }
$as_echo "file not found" >&6; } $as_echo "file not found" >&6; }
fi fi
# DB requires at least version 8.4. # DB requires at least version 8.5.
if test ${TCL_MAJOR_VERSION} -lt 8 \ if test ${TCL_MAJOR_VERSION} -lt 8 \
-o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 4; then -o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 5; then
as_fn_error $? "Berkeley DB requires Tcl version 8.4 or better." "$LINENO" 5 as_fn_error $? "Berkeley DB requires Tcl version 8.5 or better." "$LINENO" 5
fi fi
# The eval is required to do substitution (for example, the TCL_DBGX # The eval is required to do substitution (for example, the TCL_DBGX
@ -24439,7 +24482,7 @@ if test "$db_cv_build_replication" = "yes"; then
# replication manager. # replication manager.
if test "$ac_cv_header_pthread_h" = yes; then if test "$ac_cv_header_pthread_h" = yes -a "$db_cv_mingw" != "yes"; then
$as_echo "#define HAVE_REPLICATION_THREADS 1" >>confdefs.h $as_echo "#define HAVE_REPLICATION_THREADS 1" >>confdefs.h
@ -24529,6 +24572,8 @@ ac_cv_lib_socket=ac_cv_lib_socket_main
esac esac
ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(REPMGR_OBJS)" ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(REPMGR_OBJS)"
else else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Replication manager is not supported." >&5
$as_echo "$as_me: WARNING: Replication manager is not supported." >&2;}
ADDITIONAL_OBJS="$ADDITIONAL_OBJS repmgr_stub${o}" ADDITIONAL_OBJS="$ADDITIONAL_OBJS repmgr_stub${o}"
fi fi
else else
@ -25211,7 +25256,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by Berkeley DB $as_me 5.2.28, which was This file was extended by Berkeley DB $as_me 5.3.21, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -25277,7 +25322,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
Berkeley DB config.status 5.2.28 Berkeley DB config.status 5.3.21
configured by $0, generated by GNU Autoconf 2.68, configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"
@ -27307,6 +27352,7 @@ if test "$db_cv_jdbc" != "no"; then
test "$prefix" != "" && jdbc_args="--prefix=$prefix --with-jardir=$prefix/jar" test "$prefix" != "" && jdbc_args="--prefix=$prefix --with-jardir=$prefix/jar"
test "$enable_shared" != "" && jdbc_args="$jdbc_args --enable-shared=$enable_shared" test "$enable_shared" != "" && jdbc_args="$jdbc_args --enable-shared=$enable_shared"
test "$enable_static" != "" && jdbc_args="$jdbc_args --enable-static=$enable_static" test "$enable_static" != "" && jdbc_args="$jdbc_args --enable-static=$enable_static"
test "$cross_compiling" = "yes" && jdbc_args="$jdbc_args --build=$build --host=$host "
# 1. The build directory is build_unix/jdbc, so the include paths are relative # 1. The build directory is build_unix/jdbc, so the include paths are relative
# to that. # to that.

3
dist/configure.ac vendored
View file

@ -936,7 +936,7 @@ if test "$db_cv_build_replication" = "yes"; then
AH_TEMPLATE(HAVE_REPLICATION_THREADS, AH_TEMPLATE(HAVE_REPLICATION_THREADS,
[Define to 1 if building the Berkeley DB replication framework.]) [Define to 1 if building the Berkeley DB replication framework.])
if test "$ac_cv_header_pthread_h" = yes; then if test "$ac_cv_header_pthread_h" = yes -a "$db_cv_mingw" != "yes"; then
AC_DEFINE(HAVE_REPLICATION_THREADS) AC_DEFINE(HAVE_REPLICATION_THREADS)
if test "$with_stacksize" != "no"; then if test "$with_stacksize" != "no"; then
@ -955,6 +955,7 @@ if test "$db_cv_build_replication" = "yes"; then
esac esac
ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(REPMGR_OBJS)" ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(REPMGR_OBJS)"
else else
AC_MSG_WARN([Replication manager is not supported.])
ADDITIONAL_OBJS="$ADDITIONAL_OBJS repmgr_stub${o}" ADDITIONAL_OBJS="$ADDITIONAL_OBJS repmgr_stub${o}"
fi fi
else else

39
dist/db_provider.d vendored
View file

@ -8,21 +8,23 @@ provider bdb {
/* /*
* *
* dist/events.in - This description of Oracle Berkeley DB's internal * dist/events.in - This description of Oracle Berkeley DB's internal
* events hierarchy is processes by dist/s_perfmon to generate the * events hierarchy is processed by 'dist/s_include' to generate the
* platform-specific files needed by the configured operating system. * platform-independant file dist/db_provider.d. The 'configure' step on the
* target operating system generate platform-specific include file.
* *
* The entries starting in the first column are event class names, and consist * s_include -> dist/db_provider.d
* of a single word. The class's individual function-like events follow. * configure -> <build_directory>/db_provider.h
* *
* Some of these are included to enhance consistency; thse calls could be * There are two kinds of entries in events.in, describing either an event class
* supported by pid$target::<function>:entry (DTrace) or * or an individual event. The entries starting in the first column are class
* probe process("$LIB").function("<function>").call (SystemTap) probes. * names, consisting of a single word. The class's individual events follow,
* described as if they were an ANSI C function signature;
* *
* For DTrace * Events are listed grouped by their relation to one another, rather than
* dist/bdb_provider.d * alphabetically. For instance allocation and free events are adjacent.
* util/dtrace/dbdefs.d * New, unrelated events are placed at the end of their event class.
* *
* Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
* *
*/ */
@ -228,6 +230,19 @@ provider bdb {
probe mpool__alloc_max_pages(unsigned max, unsigned region_id); probe mpool__alloc_max_pages(unsigned max, unsigned region_id);
probe mpool__alloc_pages(unsigned count, unsigned region_id); probe mpool__alloc_pages(unsigned count, unsigned region_id);
probe mpool__backup_spins(unsigned spins, char *file, unsigned pgno);
/*
* The aggressiveness of a buffer cache allocation increases as more
* involved methods are needed in order to free up the requested space
* in the cache with the indicated region_id.
* aggressive: the agressiveness of an allocation request was increased.
* max_aggressive: the agressiveness of an allocation request was increased
* to a new maximum.
*/
probe mpool__aggressive(unsigned st_alloc_aggressive, unsigned region_id);
probe mpool__max_aggressive(unsigned st_alloc_max_aggr, unsigned region_id);
/* /*
* The mutex category monitors includes shared latches. The alloc_id value * The mutex category monitors includes shared latches. The alloc_id value
* is one of the MTX_XXX definitions from dbinc/mutex.h * is one of the MTX_XXX definitions from dbinc/mutex.h

37
dist/events.in vendored
View file

@ -1,20 +1,22 @@
# #
# dist/events.in - This description of Oracle Berkeley DB's internal # dist/events.in - This description of Oracle Berkeley DB's internal
# events hierarchy is processes by dist/s_perfmon to generate the # events hierarchy is processed by 'dist/s_include' to generate the
# platform-specific files needed by the configured operating system. # platform-independant file dist/db_provider.d. The 'configure' step on the
# target operating system generate platform-specific include file.
# #
# The entries starting in the first column are event class names, and consist # s_include -> dist/db_provider.d
# of a single word. The class's individual function-like events follow. # configure -> <build_directory>/db_provider.h
# #
# Some of these are included to enhance consistency; thse calls could be # There are two kinds of entries in events.in, describing either an event class
# supported by pid$target::<function>:entry (DTrace) or # or an individual event. The entries starting in the first column are class
# probe process("$LIB").function("<function>").call (SystemTap) probes. # names, consisting of a single word. The class's individual events follow,
# described as if they were an ANSI C function signature;
# #
# For DTrace # Events are listed grouped by their relation to one another, rather than
# dist/bdb_provider.d # alphabetically. For instance allocation and free events are adjacent.
# util/dtrace/dbdefs.d # New, unrelated events are placed at the end of their event class.
# #
# Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
# #
# The alloc class covers the allocation of "on disk" database pages. # The alloc class covers the allocation of "on disk" database pages.
@ -170,6 +172,17 @@ mpool
alloc_max_pages(unsigned max, unsigned region_id); alloc_max_pages(unsigned max, unsigned region_id);
alloc_pages(unsigned count, unsigned region_id); alloc_pages(unsigned count, unsigned region_id);
backup_spins(unsigned spins, char *file, unsigned pgno);`
# The aggressiveness of a buffer cache allocation increases as more
# involved methods are needed in order to free up the requested space
# in the cache with the indicated region_id.
# aggressive: the agressiveness of an allocation request was increased.
# max_aggressive: the agressiveness of an allocation request was increased
# to a new maximum.
aggressive(unsigned st_alloc_aggressive, unsigned region_id);
max_aggressive(unsigned st_alloc_max_aggr, unsigned region_id);
# The mutex category monitors includes shared latches. The alloc_id value # The mutex category monitors includes shared latches. The alloc_id value
# is one of the MTX_XXX definitions from dbinc/mutex.h # is one of the MTX_XXX definitions from dbinc/mutex.h
mutex mutex

7
dist/gen_msg.awk vendored
View file

@ -1,7 +1,7 @@
# #
# See the file LICENSE for redistribution information. # See the file LICENSE for redistribution information.
# #
# Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
# #
# $Id$ # $Id$
# #
@ -404,7 +404,10 @@ function emit_unmarshal()
} }
printf("\tDB_NTOHL_COPYIN(env, argp->%s.size, bp);\n", \ printf("\tDB_NTOHL_COPYIN(env, argp->%s.size, bp);\n", \
vars[i]) >> CFILE; vars[i]) >> CFILE;
printf("\targp->%s.data = bp;\n", vars[i]) >> CFILE; printf("\tif (argp->%s.size == 0)\n", vars[i]) >> CFILE;
printf("\t\targp->%s.data = NULL;\n", vars[i]) >> CFILE;
printf("\telse\n") >> CFILE;
printf("\t\targp->%s.data = bp;\n", vars[i]) >> CFILE;
printf("\tneeded += (size_t)argp->%s.size;\n", \ printf("\tneeded += (size_t)argp->%s.size;\n", \
vars[i]) >> CFILE; vars[i]) >> CFILE;
printf("\tif (max < needed)\n") >> CFILE; printf("\tif (max < needed)\n") >> CFILE;

2
dist/gen_rec.awk vendored
View file

@ -2,7 +2,7 @@
# #
# See the file LICENSE for redistribution information. # See the file LICENSE for redistribution information.
# #
# Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
# #
# $Id$ # $Id$
# #

18
dist/pubdef.in vendored
View file

@ -28,6 +28,7 @@ DB_AM_IN_RENAME * I * *
DB_AM_NOT_DURABLE * I * * DB_AM_NOT_DURABLE * I * *
DB_AM_OPEN_CALLED * I * * DB_AM_OPEN_CALLED * I * *
DB_AM_PAD * I * * DB_AM_PAD * I * *
DB_AM_PARTDB * I * *
DB_AM_PGDEF * I * * DB_AM_PGDEF * I * *
DB_AM_RDONLY * I * * DB_AM_RDONLY * I * *
DB_AM_READ_UNCOMMITTED * I * * DB_AM_READ_UNCOMMITTED * I * *
@ -49,6 +50,15 @@ DB_ARCH_REMOVE D I J C
DB_ASSOC_IMMUTABLE_KEY * I J C DB_ASSOC_IMMUTABLE_KEY * I J C
DB_ASSOC_CREATE * I J C DB_ASSOC_CREATE * I J C
DB_AUTO_COMMIT D I J C DB_AUTO_COMMIT D I J C
DB_BACKUP_CLEAN D I J C
DB_BACKUP_FILES D I J C
DB_BACKUP_NO_LOGS D I J C
DB_BACKUP_READ_COUNT D I J C
DB_BACKUP_READ_SLEEP D I J C
DB_BACKUP_SINGLE_DIR D I J C
DB_BACKUP_SIZE D I J C
DB_BACKUP_UPDATE D I J C
DB_BACKUP_WRITE_DIRECT D I J C
DB_BEFORE D I J C DB_BEFORE D I J C
DB_BOOTSTRAP_HELPER D I J C DB_BOOTSTRAP_HELPER D I J C
DB_BTREE D I J C DB_BTREE D I J C
@ -186,7 +196,8 @@ DB_INIT_MUTEX * I * *
DB_INIT_REP D I J C DB_INIT_REP D I J C
DB_INIT_TXN D I J C DB_INIT_TXN D I J C
DB_INORDER D I J C DB_INORDER D I J C
DB_INTERNAL_DB * I * * DB_INTERNAL_PERSISTENT_DB * I * *
DB_INTERNAL_TEMPORARY_DB * I * *
DB_JOINENV * I J C DB_JOINENV * I J C
DB_JOIN_ITEM D I J C DB_JOIN_ITEM D I J C
DB_JOIN_NOSORT D I J C DB_JOIN_NOSORT D I J C
@ -206,6 +217,7 @@ DB_LOCK_DUMP * I * *
DB_LOCK_EXPIRE D I J C DB_LOCK_EXPIRE D I J C
DB_LOCK_GET D I J C DB_LOCK_GET D I J C
DB_LOCK_GET_TIMEOUT D I J C DB_LOCK_GET_TIMEOUT D I J C
DB_LOCK_IGNORE_REC * I * *
DB_LOCK_INHERIT * I * * DB_LOCK_INHERIT * I * *
DB_LOCK_IREAD D I J C DB_LOCK_IREAD D I J C
DB_LOCK_IWR D I J C DB_LOCK_IWR D I J C
@ -510,6 +522,7 @@ DB_UPDATE_SECONDARY * I * *
DB_UPGRADE D I J C DB_UPGRADE D I J C
DB_USE_ENVIRON D I J C DB_USE_ENVIRON D I J C
DB_USE_ENVIRON_ROOT D I J C DB_USE_ENVIRON_ROOT D I J C
DB_VERB_BACKUP D I J C
DB_VERB_DEADLOCK D I J C DB_VERB_DEADLOCK D I J C
DB_VERB_FILEOPS D I J C DB_VERB_FILEOPS D I J C
DB_VERB_FILEOPS_ALL D I J C DB_VERB_FILEOPS_ALL D I J C
@ -543,3 +556,6 @@ DB_WRITELOCK * I * *
DB_WRITEOPEN * I * * DB_WRITEOPEN * I * *
DB_XA_CREATE D I * * DB_XA_CREATE D I * *
DB_YIELDCPU D I J C DB_YIELDCPU D I J C
DB2_AM_EXCL * I * *
DB2_AM_INTEXCL * I * *
DB2_AM_NOWAIT * I * *

2
dist/s_test vendored
View file

@ -19,6 +19,7 @@ trap 'rm -f $t; exit 0' 0 1 2 3 13 15
echo "set src_root @srcdir@/.." && \ echo "set src_root @srcdir@/.." && \
echo "set test_path @srcdir@/../test/tcl" && \ echo "set test_path @srcdir@/../test/tcl" && \
echo "set je_root @srcdir@/../../je" && \ echo "set je_root @srcdir@/../../je" && \
echo "set tcl_utils @srcdir@/../test/tcl_utils" && \
echo "" && \ echo "" && \
echo "global testdir" && \ echo "global testdir" && \
echo "set testdir ./TESTDIR" && \ echo "set testdir ./TESTDIR" && \
@ -54,6 +55,7 @@ cmp $t $f > /dev/null 2>&1 ||
echo "set src_root .." && \ echo "set src_root .." && \
echo "set test_path ../test/tcl" && \ echo "set test_path ../test/tcl" && \
echo "set je_root ../../je" && \ echo "set je_root ../../je" && \
echo "set tcl_utils ../test/tcl_utils" && \
echo "" && \ echo "" && \
echo "global testdir" && \ echo "global testdir" && \
echo "set testdir ./TESTDIR" && \ echo "set testdir ./TESTDIR" && \

5
dist/srcfiles.in vendored
View file

@ -113,6 +113,7 @@ src/db/db.c android vx vxsmall
src/db/db_am.c android vx vxsmall src/db/db_am.c android vx vxsmall
src/db/db_auto.c android vx vxsmall src/db/db_auto.c android vx vxsmall
src/db/db_autop.c vx6 src/db/db_autop.c vx6
src/db/db_backup.c android vx vxsmall
src/db/db_cam.c android vx vxsmall src/db/db_cam.c android vx vxsmall
src/db/db_cds.c android vx vxsmall src/db/db_cds.c android vx vxsmall
src/db/db_compact.c android vx vxsmall src/db/db_compact.c android vx vxsmall
@ -152,6 +153,7 @@ src/dbreg/dbreg_rec.c android vx vxsmall
src/dbreg/dbreg_stat.c android vx vxsmall src/dbreg/dbreg_stat.c android vx vxsmall
src/dbreg/dbreg_util.c android vx vxsmall src/dbreg/dbreg_util.c android vx vxsmall
src/env/env_alloc.c android vx vxsmall src/env/env_alloc.c android vx vxsmall
src/env/env_backup.c android vx vxsmall
src/env/env_config.c android vx vxsmall src/env/env_config.c android vx vxsmall
src/env/env_failchk.c android vx vxsmall src/env/env_failchk.c android vx vxsmall
src/env/env_file.c android vx vxsmall src/env/env_file.c android vx vxsmall
@ -188,6 +190,7 @@ src/hash/hash_upgrade.c vx
src/hash/hash_verify.c vx src/hash/hash_verify.c vx
src/heap/heap_auto.c vx src/heap/heap_auto.c vx
src/heap/heap_autop.c vx src/heap/heap_autop.c vx
src/heap/heap_backup.c vx
src/heap/heap.c vx src/heap/heap.c vx
src/heap/heap_conv.c vx src/heap/heap_conv.c vx
src/heap/heap_method.c vx src/heap/heap_method.c vx
@ -224,6 +227,7 @@ src/log/log_verify_auto.c vx
src/log/log_verify_int.c vx src/log/log_verify_int.c vx
src/log/log_verify_stub.c android vxsmall src/log/log_verify_stub.c android vxsmall
src/mp/mp_alloc.c android vx vxsmall src/mp/mp_alloc.c android vx vxsmall
src/mp/mp_backup.c android vx vxsmall
src/mp/mp_bh.c android vx vxsmall src/mp/mp_bh.c android vx vxsmall
src/mp/mp_fget.c android vx vxsmall src/mp/mp_fget.c android vx vxsmall
src/mp/mp_fmethod.c android vx vxsmall src/mp/mp_fmethod.c android vx vxsmall
@ -264,6 +268,7 @@ src/os/os_handle.c android vx vxsmall
src/os/os_map.c android src/os/os_map.c android
src/os/os_mkdir.c android vx vxsmall src/os/os_mkdir.c android vx vxsmall
src/os/os_open.c android vx vxsmall src/os/os_open.c android vx vxsmall
src/os/os_path.c android vx vxsmall
src/os/os_pid.c android vx vxsmall src/os/os_pid.c android vx vxsmall
src/os/os_rename.c android vx vxsmall src/os/os_rename.c android vx vxsmall
src/os/os_root.c android vx vxsmall src/os/os_root.c android vx vxsmall

View file

@ -113,6 +113,6 @@ r
r "--disable-static" r "--disable-static"
r "--enable-cxx" r "--enable-cxx"
r "--enable-java" r "--enable-java"
r "--with-tcl=/usr/local/lib/tcl8.4" r "--with-tcl=/usr/local/lib/tcl8.5"
r "--enable-test --with-tcl=/usr/local/lib/tcl8.4" r "--enable-test --with-tcl=/usr/local/lib/tcl8.5"
r "--enable-cxx --enable-java --with-tcl=/usr/local/lib/tcl8.4" r "--enable-cxx --enable-java --with-tcl=/usr/local/lib/tcl8.5"

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2002, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
*/ */
#include <sys/types.h> #include <sys/types.h>

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2002, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
*/ */
#include <sys/types.h> #include <sys/types.h>

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2009, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2009, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -64,6 +64,7 @@ END_OF_TEXT
cat $d/src/dbinc/db.in $d/src/dbinc_auto/api_flags.in | sed -n \ cat $d/src/dbinc/db.in $d/src/dbinc_auto/api_flags.in | sed -n \
-e 's/^#.*[ ]\(DB_[A-Z_0-9][A-Z_0-9]*\).*/\1/p' \ -e 's/^#.*[ ]\(DB_[A-Z_0-9][A-Z_0-9]*\).*/\1/p' \
-e 's/^#.*[ ]\(DB2_[A-Z_0-9][A-Z_0-9]*\).*/\1/p' \
-e 's/[ ]\(DB_[A-Z_]*\)=[0-9].*/\1/p' \ -e 's/[ ]\(DB_[A-Z_]*\)=[0-9].*/\1/p' \
-e d | -e d |
while read name; do while read name; do

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2010 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2002, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2002, 2010 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id: ex_btrec.c,v 0f73af5ae3da 2010/05/10 05:38:40 alexander $ * $Id: ex_btrec.c,v 0f73af5ae3da 2010/05/10 05:38:40 alexander $
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/* /*
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
* *
@ -24,7 +24,7 @@
#ifndef lint #ifndef lint
static const char copyright[] = static const char copyright[] =
"Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.\n"; "Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.\n";
#endif #endif
#define BUFFER_LEN 30 /* Buffer size to hold data */ #define BUFFER_LEN 30 /* Buffer size to hold data */
@ -90,13 +90,13 @@ main(argc, argv)
DB *dbp; DB *dbp;
u_int32_t cachesize, ghpsize, hpsize, pgsize; u_int32_t cachesize, ghpsize, hpsize, pgsize;
char *home; char *home;
int ch, ret, set_ghpsize, set_hpsize, test_btree, test_var_data; int ch, ret, ret_t, set_ghpsize, set_hpsize, test_btree, test_var_data;
int recs_per_rep, repeats; int recs_per_rep, repeats;
dbenv = NULL; dbenv = NULL;
dbp = NULL; dbp = NULL;
cachesize = 0; cachesize = 0;
ret = set_ghpsize = set_hpsize = test_btree = 0; ret = ret_t = set_ghpsize = set_hpsize = test_btree = 0;
home = NULL; home = NULL;
recs_per_rep = DEF_RECS_PER_REP; recs_per_rep = DEF_RECS_PER_REP;
@ -200,13 +200,15 @@ main(argc, argv)
} }
} }
err: err:
if (dbp != NULL && (ret = dbp->close(dbp, 0)) != 0) if (dbp != NULL && (ret_t = dbp->close(dbp, 0)) != 0) {
dbenv->err(dbenv, ret, "DB->close"); dbenv->err(dbenv, ret_t, "DB->close");
dbp = NULL; ret = (ret == 0 ? ret_t : ret);
}
if (dbenv != NULL && (ret = dbenv->close(dbenv, 0)) != 0) { if (dbenv != NULL && (ret_t = dbenv->close(dbenv, 0)) != 0) {
fprintf(stderr, "%s: dbenv->close: %s", progname, fprintf(stderr, "%s: dbenv->close: %s", progname,
db_strerror(ret)); db_strerror(ret_t));
ret = (ret == 0 ? ret_t : ret);
} }
return (ret); return (ret);
@ -456,7 +458,7 @@ generate_data(buf, rec_no, test_var)
int rec_no, test_var; int rec_no, test_var;
{ {
const char *str = "abcdefghijklmnopqrst"; const char *str = "abcdefghijklmnopqrst";
size_t len = strlen(str); int len = (int)strlen(str);
/* /*
* Default use the fix-length data, * Default use the fix-length data,

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */
@ -342,7 +342,7 @@ connect_all(args)
goto err; goto err;
} }
if (nsites > 0 && (hm_thr = calloc(nsites, sizeof(int))) == NULL) { if (nsites > 0 && (hm_thr = calloc(nsites, sizeof(thread_t))) == NULL) {
dbenv->err(dbenv, errno, "connect_all"); dbenv->err(dbenv, errno, "connect_all");
ret = 1; ret = 1;
goto err; goto err;

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2008, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2006, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2006, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2004, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2004, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2005, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2008, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2009, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2009, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2009, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2009, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2008, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2001, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */
@ -92,7 +92,7 @@ Db::Db(DbEnv *dbenv, u_int32_t flags)
, construct_flags_(flags) , construct_flags_(flags)
, append_recno_callback_(0) , append_recno_callback_(0)
, associate_callback_(0) , associate_callback_(0)
, associate_foreign_callback_(0) , associate_foreign_callback_(0)
, bt_compare_callback_(0) , bt_compare_callback_(0)
, bt_compress_callback_(0) , bt_compress_callback_(0)
, bt_decompress_callback_(0) , bt_decompress_callback_(0)
@ -305,6 +305,26 @@ DB_METHOD(key_range,
(DbTxn *txnid, Dbt *key, DB_KEY_RANGE *results, u_int32_t flags), (DbTxn *txnid, Dbt *key, DB_KEY_RANGE *results, u_int32_t flags),
(db, unwrap(txnid), key, results, flags), DB_RETOK_STD) (db, unwrap(txnid), key, results, flags), DB_RETOK_STD)
int Db::get_lk_exclusive(bool *onoff, bool *nowait)
{
DB *db = (DB *)unwrapConst(this);
int on, on_nowait, ret;
ret = db->get_lk_exclusive(db, &on, &on_nowait);
*onoff = (on ? true : false);
*nowait = (on_nowait ? true : false);
return (ret);
}
int Db::set_lk_exclusive(bool nowait)
{
DB *db = (DB *)unwrapConst(this);
int on_nowait;
on_nowait = (nowait ? 1 : 0);
return (db->set_lk_exclusive(db, on_nowait));
}
// If an error occurred during the constructor, report it now. // If an error occurred during the constructor, report it now.
// Otherwise, call the underlying DB->open method. // Otherwise, call the underlying DB->open method.
// //
@ -659,6 +679,10 @@ DB_METHOD(get_heapsize, (u_int32_t *gbytesp, u_int32_t *bytesp),
(db, gbytesp, bytesp), DB_RETOK_STD) (db, gbytesp, bytesp), DB_RETOK_STD)
DB_METHOD(set_heapsize, (u_int32_t gbytes, u_int32_t bytes), DB_METHOD(set_heapsize, (u_int32_t gbytes, u_int32_t bytes),
(db, gbytes, bytes, 0), DB_RETOK_STD) (db, gbytes, bytes, 0), DB_RETOK_STD)
DB_METHOD(get_heap_regionsize, (u_int32_t *npagesp),
(db, npagesp), DB_RETOK_STD)
DB_METHOD(set_heap_regionsize, (u_int32_t npages),
(db, npages), DB_RETOK_STD)
DB_METHOD(set_h_compare, (h_compare_fcn_type func), DB_METHOD(set_h_compare, (h_compare_fcn_type func),
(db, func), DB_RETOK_STD) (db, func), DB_RETOK_STD)
DB_METHOD(get_h_ffactor, (u_int32_t *h_ffactorp), DB_METHOD(get_h_ffactor, (u_int32_t *h_ffactorp),

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */
@ -150,6 +150,27 @@ char *_thread_id_string_intercept_c(DB_ENV *dbenv, pid_t pid,
return (DbEnv::_thread_id_string_intercept(dbenv, pid, thrid, buf)); return (DbEnv::_thread_id_string_intercept(dbenv, pid, thrid, buf));
} }
extern "C"
int _backup_close_intercept_c(DB_ENV *dbenv, const char *dbname, void *handle)
{
return (DbEnv::_backup_close_intercept(dbenv, dbname, handle));
}
extern "C"
int _backup_open_intercept_c(DB_ENV *dbenv,
const char *dbname, const char *target, void **handle)
{
return (DbEnv::_backup_open_intercept(dbenv, dbname, target, handle));
}
extern "C"
int _backup_write_intercept_c(DB_ENV *dbenv, u_int32_t off_gbytes,
u_int32_t off_bytes, u_int32_t size, u_int8_t *buf, void *handle)
{
return (DbEnv::_backup_write_intercept(
dbenv, off_gbytes, off_bytes, size, buf, handle));
}
void DbEnv::_feedback_intercept(DB_ENV *dbenv, int opcode, int pct) void DbEnv::_feedback_intercept(DB_ENV *dbenv, int opcode, int pct)
{ {
DbEnv *cxxenv = DbEnv::get_DbEnv(dbenv); DbEnv *cxxenv = DbEnv::get_DbEnv(dbenv);
@ -287,6 +308,58 @@ char *DbEnv::_thread_id_string_intercept(DB_ENV *dbenv,
return (cxxenv->thread_id_string_callback_(cxxenv, pid, thrid, buf)); return (cxxenv->thread_id_string_callback_(cxxenv, pid, thrid, buf));
} }
int DbEnv::_backup_close_intercept(
DB_ENV *dbenv, const char *dbname, void *handle)
{
DbEnv *cxxenv = DbEnv::get_DbEnv(dbenv);
if (cxxenv == 0) {
DB_ERROR(DbEnv::get_DbEnv(dbenv),
"DbEnv::backup_close_callback", EINVAL, ON_ERROR_UNKNOWN);
return (EINVAL);
}
if (cxxenv->backup_close_callback_ == 0) {
DB_ERROR(DbEnv::get_DbEnv(dbenv), "DbEnv::backup_close_callback",
EINVAL, cxxenv->error_policy());
return (EINVAL);
}
return (*cxxenv->backup_close_callback_)(cxxenv, dbname, handle);
}
int DbEnv::_backup_open_intercept(DB_ENV *dbenv,
const char *dbname, const char *target, void **handle)
{
DbEnv *cxxenv = DbEnv::get_DbEnv(dbenv);
if (cxxenv == 0) {
DB_ERROR(DbEnv::get_DbEnv(dbenv),
"DbEnv::backup_open_callback", EINVAL, ON_ERROR_UNKNOWN);
return (EINVAL);
}
if (cxxenv->backup_open_callback_ == 0) {
DB_ERROR(DbEnv::get_DbEnv(dbenv), "DbEnv::backup_open_callback",
EINVAL, cxxenv->error_policy());
return (EINVAL);
}
return (*cxxenv->backup_open_callback_)(cxxenv, dbname, target, handle);
}
int DbEnv::_backup_write_intercept(DB_ENV *dbenv, u_int32_t off_gbytes,
u_int32_t off_bytes, u_int32_t size, u_int8_t *buf, void *handle)
{
DbEnv *cxxenv = DbEnv::get_DbEnv(dbenv);
if (cxxenv == 0) {
DB_ERROR(DbEnv::get_DbEnv(dbenv),
"DbEnv::backup_write_callback", EINVAL, ON_ERROR_UNKNOWN);
return (EINVAL);
}
if (cxxenv->backup_write_callback_ == 0) {
DB_ERROR(DbEnv::get_DbEnv(dbenv), "DbEnv::backup_write_callback",
EINVAL, cxxenv->error_policy());
return (EINVAL);
}
return (*cxxenv->backup_write_callback_)(
cxxenv, off_gbytes, off_bytes, size, buf, handle);
}
// A truism for the DbEnv object is that there is a valid // A truism for the DbEnv object is that there is a valid
// DB_ENV handle from the constructor until close(). // DB_ENV handle from the constructor until close().
// After the close, the DB_ENV handle is invalid and // After the close, the DB_ENV handle is invalid and
@ -750,6 +823,8 @@ char *DbEnv::strerror(int error)
// We keep these alphabetical by field name, // We keep these alphabetical by field name,
// for comparison with Java's list. // for comparison with Java's list.
// //
DBENV_METHOD(get_backup_config, (DB_BACKUP_CONFIG type, u_int32_t *valuep), (dbenv, type, valuep))
DBENV_METHOD(set_backup_config, (DB_BACKUP_CONFIG type, u_int32_t value), (dbenv, type, value))
DBENV_METHOD(set_data_dir, (const char *dir), (dbenv, dir)) DBENV_METHOD(set_data_dir, (const char *dir), (dbenv, dir))
DBENV_METHOD(get_encrypt_flags, (u_int32_t *flagsp), DBENV_METHOD(get_encrypt_flags, (u_int32_t *flagsp),
(dbenv, flagsp)) (dbenv, flagsp))
@ -795,6 +870,8 @@ DBENV_METHOD(get_memory_init, (DB_MEM_CONFIG type, u_int32_t *count), (dbenv, ty
DBENV_METHOD(set_memory_init, (DB_MEM_CONFIG type, u_int32_t count), (dbenv, type, count)) DBENV_METHOD(set_memory_init, (DB_MEM_CONFIG type, u_int32_t count), (dbenv, type, count))
DBENV_METHOD(get_memory_max, (u_int32_t *gbytes, u_int32_t *bytes), (dbenv, gbytes, bytes)) DBENV_METHOD(get_memory_max, (u_int32_t *gbytes, u_int32_t *bytes), (dbenv, gbytes, bytes))
DBENV_METHOD(set_memory_max, (u_int32_t gbytes, u_int32_t bytes), (dbenv, gbytes, bytes)) DBENV_METHOD(set_memory_max, (u_int32_t gbytes, u_int32_t bytes), (dbenv, gbytes, bytes))
DBENV_METHOD(get_metadata_dir, (const char **dirp), (dbenv, dirp))
DBENV_METHOD(set_metadata_dir, (const char *dir), (dbenv, dir))
DBENV_METHOD(get_mp_max_openfd, (int *maxopenfdp), (dbenv, maxopenfdp)) DBENV_METHOD(get_mp_max_openfd, (int *maxopenfdp), (dbenv, maxopenfdp))
DBENV_METHOD(set_mp_max_openfd, (int maxopenfd), (dbenv, maxopenfd)) DBENV_METHOD(set_mp_max_openfd, (int maxopenfd), (dbenv, maxopenfd))
DBENV_METHOD(get_mp_max_write, (int *maxwritep, db_timeout_t *maxwrite_sleepp), DBENV_METHOD(get_mp_max_write, (int *maxwritep, db_timeout_t *maxwrite_sleepp),
@ -1066,6 +1143,43 @@ int DbEnv::set_thread_id_string(
return (ret); return (ret);
} }
int DbEnv::get_backup_callbacks(
int (**open_funcp)(DbEnv *, const char *, const char *, void **),
int (**write_funcp)(DbEnv *, u_int32_t, u_int32_t, u_int32_t, u_int8_t *, void *),
int (**close_funcp)(DbEnv *, const char *, void *))
{
if (open_funcp != NULL)
*open_funcp = backup_open_callback_;
if (write_funcp != NULL)
*write_funcp = backup_write_callback_;
if (close_funcp != NULL)
*close_funcp = backup_close_callback_;
return 0;
}
int DbEnv::set_backup_callbacks(
int (*open_func)(DbEnv *, const char *, const char *, void **),
int (*write_func)(DbEnv *, u_int32_t, u_int32_t, u_int32_t, u_int8_t *, void *),
int (*close_func)(DbEnv *, const char *, void *))
{
DB_ENV *dbenv = unwrap(this);
int ret;
backup_open_callback_ = open_func;
backup_write_callback_ = write_func;
backup_close_callback_ = close_func;
if ((ret = dbenv->set_backup_callbacks(dbenv,
open_func == 0 ? 0 : _backup_open_intercept_c,
write_func == 0 ? 0 : _backup_write_intercept_c,
close_func == 0 ? 0 : _backup_close_intercept_c)) != 0)
DB_ERROR(this, "DbEnv::set_backup_callbacks", ret,
error_policy());
return (ret);
}
DBENV_METHOD(add_data_dir, (const char *dir), (dbenv, dir)) DBENV_METHOD(add_data_dir, (const char *dir), (dbenv, dir))
int DbEnv::cdsgroup_begin(DbTxn **tid) int DbEnv::cdsgroup_begin(DbTxn **tid)
@ -1333,6 +1447,12 @@ DBENV_METHOD(set_timeout,
(db_timeout_t timeout, u_int32_t flags), (db_timeout_t timeout, u_int32_t flags),
(dbenv, timeout, flags)) (dbenv, timeout, flags))
DBENV_METHOD(backup,
(const char *target, u_int32_t flags), (dbenv, target, flags))
DBENV_METHOD(dbbackup,
(const char *dbfile, const char *target, u_int32_t flags),
(dbenv, dbfile, target, flags))
// static method // static method
char *DbEnv::version(int *major, int *minor, int *patch) char *DbEnv::version(int *major, int *minor, int *patch)
{ {

View file

@ -1,7 +1,7 @@
/*- /*-
* See the file LICENSE for redistribution information. * See the file LICENSE for redistribution information.
* *
* Copyright (c) 1997, 2011 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2012 Oracle and/or its affiliates. All rights reserved.
* *
* $Id$ * $Id$
*/ */

Some files were not shown because too many files have changed in this diff Show more