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
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 ==
Existing database file formats were unchanged in library version 11.2.5.2.
However, a new database file format, "heap", was introduced.
Existing database file formats were unchanged in library version 11.2.5.3.
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 ==
Replication Manager now manages Group Membership. This allows sites to be added to
and removed from the replication group dynamically. Replication Manager
also now automatically keeps track of the group size (nsites). [#14778]
Added support for verifying named in-memory dbs. [#16941]
Initial allocations for various non-pagebuffer (mpool) system resources
may now be specified, as well as a total maximum of memory to use, rather than
specifying a maximum value for each resource. [#16334]
Added an integer key comparison function to improve performance through
the SQL API. [#19609]
Implemented Berkeley DB globalization support architecture to enable localized
and stripped error and output messages. [#16863]
Support build on the platforms where pthread_t is a struct. [#19876]
Added a new access method, DB_HEAP. Heap aims for efficient use (and re-use)
of disk space. Keys in a heap database are automatically generated by BDB, it
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 an API call so the user can specify the size of the region in a
heap db. [#19914]
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
enabled using "PRAGMA multiversion". Added several pragmas that can be
used to configure the Berkeley DB datastore. [#18521]
Enhanced the interface for copying databases for a hot backup. Added configure
support for --enable-atomicfileread. [#20129]
Add several new pragmas to provide in-process support for replication in
the SQL API. [#18528]
Enhaced the log reading routine to detect that a log file is missing rather
than returning that a zero length record was found. [#20130]
The Berkeley DB X/open compliant XA resource manager has been restored,
including support for multi-threaded servers. [#18701]
Added pragma bdbsql_shared_resources to set or report the maximum amount of
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
through the SQL API. Berkeley DB will try to automatically clean up locks,
mutexes and transactions from the failed process. [#18713]
Added set_metadata_dir() and get_metadata_dir() to enable storage of
persistent metadata files in a location other than the environment
home directory. [#20174]
Add support for sequence usage in the SQL API using SQLite custom
functions. [#19007]
Improved the error handling through the SQL API. Errors can be sent to a
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
command. [#19202]
Database handles can now be configured to give exclusive access to
the database. [#20331]
Add a pragma in the SQL API to allow configuration of DB_SYSTEM_MEM
environments. [#19249]
XA transactions will now use transaction snapshots if the XA databases
they operate on were configured with DB_MULTIVERSION. [#20332]
The new db_env_set_win_security(SECURITY_ATTRIBUTES *) function allows an
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 additional stats fields into the C# API [#20693]
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 ==
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 ==
Modified the queue access method so that it only uses latches on the metadata
page rather than a latch and a lock. This was done to improve
performance. [#18749]
Fixed a bug were database configuration settings could be lost when the
database was opened if the open operation was blocked for any amount
of time. [#20860]
Fixed several bugs that could cause an update running with MVCC to get the
wrong version of a page or improperly update the metadata last page
number. [#19063]
Fixed a bug that bulk update operations did not work correctly on
compressed databases. [#19017]
The database open code will no longer log the open and close of the master
database in a file when opening a sub database in that file. [#19071]
Improved the log flushing performance when ftruncate() is not available
on a system. [#19725]
Fixed a bug where an error during an update to a hash database with
DB_NOOVERWRITE set could return DB_KEYEXIST rather than the correct
error. [#19077]
When performing partial puts in a heap database, empty pieces will no longer
be left in a split record chain. [#20052]
Fixed a bug that could cause the wrong page number to be on a root or metadata
page if DB->compact moved the page and the operation was later rolled
forward. [#19167]
Fixed a bug where, on systems without FTRUNCATE, db_verify will return an
error for truncated heap databases. [#20195]
Fixed a bug that could cause the close of a secondary index database to fail
if the transaction doing the open aborted. [#19169]
Fixed a bug where BDB could run out of mutexes when many databases are
renamed. [#20228]
Fixed a bug that could prevent an update to a primary recno or queue database
with DB_NOOVERWITE set. [#19230]
Fixed a bug where the metadata page in hash databases would not be flushed
to disk. [#20265]
Fixed a bug when an update to a database with DB_NOOVERWRITE set could
incorrectly return DB_KEYEXIST rather than the correct error
(e.g., DB_LOCK_DEADLOCK). [#19345]
Fixed a bug that could leave deleted pages from a HEAP database in the
buffer cache. [#20309]
Fixed a bug preventing the use of the set_re_len and set_re_pad methods with
a RECNO database when configuring with --disable-queue. [#19367]
Fixed a bug where the library would fail to put records with overflow keys
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
page in the database could be moved to a lower numbered page. [#19394]
Fixed a bug that could cause the last page number stored on the metadata
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
deallocation of a multiple page overflow chain. [#19474]
Fixed a bug that could cause DB->stat to block on a mutex while holding a
lock on the metadata page. [#20770]
Fixed a bug that could cause a diagnostic assertion if MVCC was in use
and multiple levels of a btree needed to be split. [#19481]
Fixed a bug that could cause DB->compact of a DB_HASH database to fail to
mark a page it updated as dirty. [#20778]
Fixed a few error paths that could cause a Panic with an "unpinned page
returned" error. [#19493]
Fixed a bug where internal HEAP structures were not rebuilt during database
handle refresh. [#20821]
Fixed a bug that closed a race condition that under heavy mult-threaded
appending to a queue database could cause some records to be lost. [#19498]
Fixed a bug with secondary indices, off-page duplicates and
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
overflow record when merging two pages. This may cause the page to have more
data than desired. [#19562]
Fixed a bug that could cause a hang or improperly report an empty queue when
the queue record numbers wrapped around at 2^32. [#20956]
Fixed a bug in DB_ENV->fileid_reset that did not update the fileid's on the
metadata pages of subdatabases if the database file was not in native
byte order. [#19608]
Fixed a bug that caused the first directory specified in the create of
a partitioned database to get too many partitions. [#20041]
Fixed a bug on Linux or Windows that could generate a checksum error
if a database file was being opened while the meta data page happened
to be flushed from the cache. [#20996]
== SQL API Changes ==
Fixed a race condition that would cause a corruption error in one process when
two processes created the same SQL database. [#18929]
Fixed several memory leaks in the Online Backup API. [#19850]
Fixed a bug that would cause a constraint violation when updating the
primary key with the same value. [#18976]
Fixed a bug in the SQL API when using large blob items and multiple concurrent
connections. [#19945]
Overwriting an old backup with a new backup using the SQL online backup API
will no longer double the size of the database. [#19021]
To avoid a race condition that could cause a snapshot reader to see a wrong
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
thread which moved a metadata or root page via a DB->compact operation and
another thread trying to open the database if the old page was being removed
from the file. [#19186]
Fixed a bug in the SQL API where it was possible for a schema update to be
ignored when accessing a database from multiple processes. [#20319]
Fix a bug in the BDBSQL_FILE_PER_TABLE option, to allow absolute
path names. [#19190]
Fixed a bug where aborting an exclusive transaction followed by an
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
existing transactions from making forward progress. [#19256]
Turn off the DBSQL encryption option on Windows/WinCE by default to match the
behavior on the other platforms. [#20671]
Fixed a bug that would cause assert error when opening an in-memory hash
database with thread count configured when compiled with
--enable-diagnostic. [#19357]
Renamed the BDBSQL_OMIT_SHARING preprocessor flag to
BDBSQL_SINGLE_PROCESS. [#20789]
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
were multiple cache regions. [#19385]
== Java-specific API changes ==
Fixed a bug which could cause two SQL threads to have an undetected deadlock
when opening or closing tables. [#19386]
Added ReplicationManagerConnectionStatus class and
ReplicationManagerSiteInfo.getConnectionStatus(). Deprecated
ReplicationManagerSiteInfo.isConnected(). [#18068]
Fix a bug that could cause a hang when deleting a table if there are multiple
connections to a database from different processes. [#19419]
Updated EID_MASTER to be "public static final" so that it would be exposed
in Java docs. [#20184]
Fixed a bug which could cause multiple threads performing DB->compact on
the same database file to overrun the in-memory freelist, which could
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]
Fixed a bug where calls that return Stat objects could cause a
segfault. [#20377]
== 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 Manager now allows differing ack policies at different
sites throughout the group, and supports dynamic changes to the ack
policy. (The ack policy in force is determined by the current
master.) [#14993]
Fixed quorum computation when most sites are unelectable. [#15251]
Replication Manager "channels" feature allows applications to
share repmgr's communication facilities. [#17228]
Made Replication more resilient to random input on its port. [#15712]
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
"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]
Fixed a repmgr memory leak when using DB_PRIVATE. [#19363]
Changed election criteria so that later group transactions
won't get overwritten by earlier generations with more log. [#17815]
Fixed a minor bug to handle ENOMEM when using an in-memory
temp database. [#20197]
Added changes to master lease checks that result in improved
performance when using master leases. [#18960]
Fixed a bug where multiple long running transactions across
checkpoints could cause Log Sequence errors on client systems. [#20421]
A log write failure on a replication master will now cause
a panic since the transaction may be committed on some clients. [#19054]
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]
Fixed a bug where multiple Replication Manager processes would sometimes
not all conform to replication-group-aware log archiving. [#20342]
== Locking Subsystem Changes ==
Fixed a bug where an updater supporting DB_READ_UNCOMMITED might downgrade
its lock too soon if there was an error during the update. [#19155]
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]
Fixed a bug that could cause an early lock timeout if a previous error
left a lock timeout value set. [#19973]
== Logging Subsystem Changes ==
Enhanced recovery so that it will not output extra checkpoint or transaction
id recycle log records if there was no activity since the last
checkpoint. [#15330]
Fixed a bug which could cause an incompletely written log record to be
recognized as valid, resulting in recovery failing with the message "Illegal
record type <integer, usually 0> in log". [#17851]
Log checksums can now be disabled using the compile argument
--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]
Fixed a bug where printlog would fail on in-memory heap databases. [#20269]
== Memory Pool Subsystem Changes ==
Fixed a bug in MPOOLFILE->get that did not permit the DB_MPOOL_DIRTY flag
to be used with other flags. [#19421]
Fixed a bug which overstated the number of clean and dirty pages evicted from
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 ==
Fixed a bug when the mutex region needs to be larger than 4GB, the region size
was incorrectly adjusted to be slightly too small to fit the mutexes. [#18968]
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 in which DB_ENV->mutex_set_align() could cause
DB_ENV->mutex_stat_print(dbenv, DB_STAT_ALL) to display only the
first mutex. [#20522]
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 ==
Fixed a leak of log file ids when a database is closed before the end of a
transaction that references it. [#15957]
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.
Fixed a bug where a malloc failure could result in a segfault
when doing a put on a database with secondaries. [#20641]
== Utility Changes ==
Added a new utility, db_tuner, which analyzes the data in a btree database,
and suggests a reasonable pagesize. [#18910]
Fixed a bug that would cause verify to call the wrong compare function if
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
logs. [#19157]
Fixed a bug that could cause recovery to fail if DB->compact moved the meta
data page of a HASH subdatabase. [#20708]
Modified db_hotbackup to not read from the file system as required on non-UNIX
systems. Also provided the db_copy function for this purpose. [#19863]
Fixed db_hotbackup so that when -d/-l or -D is not specified, DB_CONFIG is
used to determine the locations of the databases and logs in the source
environment. [#19994]
Fixed two problems with db_hotbackup's handling of transaction logs. A hotbackup
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
the memory was freed by the wrong function, possibly causing a guard byte error.
[#21313]
== Configuration, Documentation, Sample Apps, Portability and Build Changes ==
Changed SQL API library built on *nix to link with libpthreads when
necessary. [#19098]
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
The DB_CONFIG configuration commands which specify directory pathnames
("set_data_dir", "set_lg_dir", and "set_tmp_dir") now accept names containing
whitespace characters. [#20158]
== Known Bugs ==
The SQL API has a known issue when using a blob field with a lot of content
and multiple concurrent connections to the database. [#19945]
If two SQL processes are concurrently altering the schema of the same tables
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
can consume all mutex resources if enough rollbacks of table drops are
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]
Replication groups including machines of different endianness do
not support the heap access method. [#21016]
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_verify@o@
HEAP_OBJS=\
heap@o@ heap_auto@o@ heap_conv@o@ heap_method@o@ heap_open@o@ \
heap_rec@o@ heap_reclaim@o@ heap_stat@o@
heap@o@ heap_auto@o@ heap_backup@o@ heap_conv@o@ heap_method@o@ \
heap_open@o@ heap_rec@o@ heap_reclaim@o@ heap_stat@o@
HEAP_VRFY_OBJS=\
heap_verify@o@
QUEUE_OBJS=\
@ -263,39 +263,41 @@ XA_OBJS=\
# object files in order to generate the additional objects in @FINAL_OBJS@.
DTRACE_OBJS= @ADDITIONAL_OBJS@ @REPLACEMENT_OBJS@ @CRYPTO_OBJS@ \
clock@o@ crdel_auto@o@ crdel_rec@o@ db@o@ db_am@o@ \
db_auto@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_getlong@o@ db_idspace@o@ db_iface@o@ db_join@o@ db_log2@o@ \
db_meta@o@ db_method@o@ db_open@o@ db_overflow@o@ db_pr@o@ db_rec@o@ \
db_reclaim@o@ db_remove@o@ db_rename@o@ db_ret@o@ db_setid@o@ \
db_setlsn@o@ db_shash@o@ db_sort_multiple@o@ db_stati@o@ \
db_truncate@o@ db_upg@o@ db_upg_opd@o@ dbreg@o@ dbreg_stat@o@ \
dbreg_auto@o@ dbreg_rec@o@ dbreg_util@o@ dbt@o@ env_alloc@o@ \
env_config@o@ env_failchk@o@ env_file@o@ env_globals@o@ env_open@o@ \
env_method@o@ env_name@o@ env_recover@o@ env_region@o@ env_register@o@ \
env_sig@o@ env_stat@o@ fileops_auto@o@ fop_basic@o@ fop_rec@o@ \
fop_util@o@ hash_func@o@ hmac@o@ log@o@ log_archive@o@ \
log_compare@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_bh@o@ mp_fget@o@ \
clock@o@ crdel_auto@o@ crdel_rec@o@ db@o@ db_am@o@ db_auto@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_getlong@o@ db_idspace@o@ db_iface@o@ db_join@o@ \
db_log2@o@ db_meta@o@ db_method@o@ db_open@o@ db_overflow@o@ \
db_pr@o@ db_rec@o@ db_reclaim@o@ db_remove@o@ db_rename@o@ \
db_ret@o@ db_setid@o@ db_setlsn@o@ db_shash@o@ db_sort_multiple@o@ \
db_stati@o@ db_truncate@o@ db_upg@o@ db_upg_opd@o@ dbreg@o@ \
dbreg_stat@o@ dbreg_auto@o@ dbreg_rec@o@ dbreg_util@o@ \
dbt@o@ env_alloc@o@ env_config@o@ env_backup@o@ env_failchk@o@ \
env_file@o@ env_globals@o@ env_open@o@ env_method@o@ env_name@o@ \
env_recover@o@ env_region@o@ env_register@o@ env_sig@o@ \
env_stat@o@ fileops_auto@o@ fop_basic@o@ fop_rec@o@ fop_util@o@ \
hash_func@o@ hmac@o@ log@o@ log_archive@o@ log_compare@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_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@ \
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_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_rw@o@ os_seek@o@ os_stack@o@ os_stat@o@ os_tmpdir@o@ \
os_truncate@o@ os_uid@o@ os_unlink@o@ os_yield@o@ partition@o@ \
seq_stat@o@ sequence@o@ sha1@o@ snprintf@o@ txn@o@ txn_auto@o@ \
txn_chkpt@o@ txn_failchk@o@ txn_method@o@ txn_rec@o@ txn_recover@o@ \
txn_region@o@ txn_stat@o@ txn_util@o@ xa@o@ xa_map@o@ zerofill@o@
os_open@o@ os_path@o@ os_pid@o@ os_rename@o@ os_root@o@ \
os_rpath@o@ os_rw@o@ os_seek@o@ os_stack@o@ os_stat@o@ \
os_tmpdir@o@ os_truncate@o@ os_uid@o@ os_unlink@o@ os_yield@o@ \
partition@o@ seq_stat@o@ sequence@o@ sha1@o@ snprintf@o@ txn@o@ \
txn_auto@o@ txn_chkpt@o@ txn_failchk@o@ txn_method@o@ txn_rec@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@
CUTEST_OBJS=\
CuTest@o@ CuTests@o@ Runner@o@ TestChannel@o@ TestDbTuner@o@ \
TestEncryption@o@ TestEnvConfig@o@ TestEnvMethod@o@ \
CuTest@o@ CuTests@o@ Runner@o@ TestChannel@o@ TestDbHotBackup@o@ \
TestDbTuner@o@ TestEncryption@o@ TestEnvConfig@o@ TestEnvMethod@o@ \
TestKeyExistErrorReturn@o@ TestPartial@o@ TestQueue@o@ \
CXX_OBJS=\
@ -315,13 +317,14 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/asm/AnnotationWriter.java \
$(JAVA_SLEEPYCAT)/asm/Attribute.java \
$(JAVA_SLEEPYCAT)/asm/ByteVector.java \
$(JAVA_SLEEPYCAT)/asm/ClassAdapter.java \
$(JAVA_SLEEPYCAT)/asm/ClassReader.java \
$(JAVA_SLEEPYCAT)/asm/ClassVisitor.java \
$(JAVA_SLEEPYCAT)/asm/ClassWriter.java \
$(JAVA_SLEEPYCAT)/asm/Edge.java \
$(JAVA_SLEEPYCAT)/asm/FieldVisitor.java \
$(JAVA_SLEEPYCAT)/asm/FieldWriter.java \
$(JAVA_SLEEPYCAT)/asm/Frame.java \
$(JAVA_SLEEPYCAT)/asm/Handle.java \
$(JAVA_SLEEPYCAT)/asm/Handler.java \
$(JAVA_SLEEPYCAT)/asm/Item.java \
$(JAVA_SLEEPYCAT)/asm/Label.java \
@ -401,6 +404,8 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/collections/TransactionWorker.java \
$(JAVA_SLEEPYCAT)/collections/TupleSerialFactory.java \
$(JAVA_SLEEPYCAT)/compat/DbCompat.java \
$(JAVA_SLEEPYCAT)/db/BackupHandler.java \
$(JAVA_SLEEPYCAT)/db/BackupOptions.java \
$(JAVA_SLEEPYCAT)/db/BtreeCompressor.java \
$(JAVA_SLEEPYCAT)/db/BtreePrefixCalculator.java \
$(JAVA_SLEEPYCAT)/db/BtreeStats.java \
@ -478,6 +483,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/db/ReplicationLeaseExpiredException.java \
$(JAVA_SLEEPYCAT)/db/ReplicationLockoutException.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerAckPolicy.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerConnectionStatus.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerMessageDispatch.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerSite.java \
$(JAVA_SLEEPYCAT)/db/ReplicationManagerSiteConfig.java \
@ -539,6 +545,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/persist/PrimaryKeyValueAdapter.java \
$(JAVA_SLEEPYCAT)/persist/SecondaryIndex.java \
$(JAVA_SLEEPYCAT)/persist/StoreConfig.java \
$(JAVA_SLEEPYCAT)/persist/StoreConfigBeanInfo.java \
$(JAVA_SLEEPYCAT)/persist/StoreExistsException.java \
$(JAVA_SLEEPYCAT)/persist/StoreNotFoundException.java \
$(JAVA_SLEEPYCAT)/persist/SubIndex.java \
@ -550,6 +557,7 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/persist/evolve/Deleter.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EntityConverter.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveConfig.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveConfigBeanInfo.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveEvent.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveInternal.java \
$(JAVA_SLEEPYCAT)/persist/evolve/EvolveListener.java \
@ -627,6 +635,8 @@ JAVA_DBSRCS=\
$(JAVA_SLEEPYCAT)/persist/raw/RawObject.java \
$(JAVA_SLEEPYCAT)/persist/raw/RawStore.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/ExceptionUnwrapper.java \
$(JAVA_SLEEPYCAT)/util/ExceptionWrapper.java \
@ -1306,10 +1316,12 @@ CuTests@o@: $(testdir)/c/cutest/CuTests.c
$(CC) $(CUTEST_FLAGS) $?
Runner@o@: $(testdir)/c/cutest/Runner.c
$(CC) $(CUTEST_FLAGS) $?
TestDbTuner@o@: $(testdir)/c/suites/TestDbTuner.c
$(CC) $(CUTEST_FLAGS) $?
TestChannel@o@: $(testdir)/c/suites/TestChannel.c
$(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
$(CC) $(CUTEST_FLAGS) $?
TestEnvConfig@o@: $(testdir)/c/suites/TestEnvConfig.c
@ -1899,6 +1911,8 @@ db_autop@o@: $(srcdir)/db/db_autop.c
$(CC) $(CFLAGS) $?
db_byteorder@o@: $(srcdir)/common/db_byteorder.c
$(CC) $(CFLAGS) $?
db_backup@o@: $(srcdir)/db/db_backup.c
$(CC) $(CFLAGS) $?
db_cam@o@: $(srcdir)/db/db_cam.c
$(CC) $(CFLAGS) $?
db_cds@o@: $(srcdir)/db/db_cds.c
@ -1991,6 +2005,8 @@ env_alloc@o@: $(srcdir)/env/env_alloc.c
$(CC) $(CFLAGS) $?
env_config@o@: $(srcdir)/env/env_config.c
$(CC) $(CFLAGS) $?
env_backup@o@: $(srcdir)/env/env_backup.c
$(CC) $(CFLAGS) $?
env_failchk@o@: $(srcdir)/env/env_failchk.c
$(CC) $(CFLAGS) $?
env_file@o@: $(srcdir)/env/env_file.c
@ -2063,6 +2079,8 @@ heap_auto@o@: $(srcdir)/heap/heap_auto.c
$(CC) $(CFLAGS) $?
heap_autop@o@: $(srcdir)/heap/heap_autop.c
$(CC) $(CFLAGS) $?
heap_backup@o@: $(srcdir)/heap/heap_backup.c
$(CC) $(CFLAGS) $?
heap_conv@o@: $(srcdir)/heap/heap_conv.c
$(CC) $(CFLAGS) $?
heap_method@o@: $(srcdir)/heap/heap_method.c
@ -2141,6 +2159,8 @@ mp_alloc@o@: $(srcdir)/mp/mp_alloc.c
$(CC) $(CFLAGS) $?
mp_bh@o@: $(srcdir)/mp/mp_bh.c
$(CC) $(CFLAGS) $?
mp_backup@o@: $(srcdir)/mp/mp_backup.c
$(CC) $(CFLAGS) $?
mp_fget@o@: $(srcdir)/mp/mp_fget.c
$(CC) $(CFLAGS) $?
mp_fmethod@o@: $(srcdir)/mp/mp_fmethod.c
@ -2229,6 +2249,8 @@ os_mkdir@o@: $(srcdir)/@OSDIR@/os_mkdir.c
$(CC) $(CFLAGS) $?
os_open@o@: $(srcdir)/@OSDIR@/os_open.c
$(CC) $(CFLAGS) $?
os_path@o@: $(srcdir)/os/os_path.c
$(CC) $(CFLAGS) $?
os_pid@o@: $(srcdir)/os/os_pid.c
$(CC) $(CFLAGS) $?
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_RELEASE=2
DB_VERSION_MAJOR=5
DB_VERSION_MINOR=2
DB_VERSION_PATCH=28
DB_VERSION_MINOR=3
DB_VERSION_PATCH=21
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_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_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,
# 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
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
# 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
#
# If the user specified we use POSIX pthreads mutexes, and we fail to
# find the full interface, try and configure for just intra-process
# support.
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
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
# If we find POSIX pthreads mutexes but not the full interface,
# try to configure for just intra-process support.
case "$host_os" in
darwin*)
# 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"
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
AM_PTHREADS_PRIVATE(POSIX/pthreads/private)
AM_PTHREADS_CONDVAR_DUPINITCHK

View file

@ -368,6 +368,26 @@ AC_ARG_ENABLE(umrw,
[db_cv_umrw="$enable_umrw"], [db_cv_umrw="no"])
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.
# Until Berkeley DB 5.0, this was a simple yes/no decision.
# 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])
fi
# DB requires at least version 8.4.
# DB requires at least version 8.5.
if test ${TCL_MAJOR_VERSION} -lt 8 \
-o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 4; then
AC_MSG_ERROR([Berkeley DB requires Tcl version 8.4 or better.])
-o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 5; then
AC_MSG_ERROR([Berkeley DB requires Tcl version 8.5 or better.])
fi
# 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_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
# Sync database when automatically closing its db handles.
DB_FORCESYNC
@ -68,6 +78,7 @@ DbEnv.lock_stat_print
DbEnv.lock_vec
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_RECORD # UNDOC: record lock
DB_LOCK_SET_TIMEOUT # UNDOC: set lock timeout
@ -231,6 +242,7 @@ DbEnv.set_timeout
DB_SET_REG_TIMEOUT # Set dbregister timeout
DbEnv.set_verbose
DB_VERB_BACKUP # Backup information
DB_VERB_DEADLOCK # Deadlock detection information
DB_VERB_FILEOPS # Major file operations
DB_VERB_FILEOPS_ALL # All file operations
@ -289,6 +301,7 @@ DbLogc.get
DbMpoolFile.close
DB_MPOOL_DISCARD # UNDOC: Discard file
DB_FLUSH # UNDOC: opened to flush a page
DB_MPOOL_NOLOCK # UNDOC: Already have mpf locked
DbMpoolFile.get
@ -305,6 +318,7 @@ DbMpoolFile.open
DB_DIRECT # Don't buffer the file in the OS
DB_DURABLE_UNKNOWN # UNDOC: Durability on open
DB_EXTENT # UNDOC: dealing with an extent
DB_FLUSH # UNDOC: opened to flush a page
DB_MULTIVERSION # Multiversion concurrency control
DB_NOMMAP # Don't mmap underlying file
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
# API, but they are accepted by the underlying __db_open function.
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_ODDFILESIZE # UNDOC: Truncate file to N * pgsize
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.
*
* 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>

4
dist/buildpkg vendored
View file

@ -57,8 +57,8 @@ START_DIR=`pwd`
D=`pwd`/../release
R="$D/db-${VERSION}"
RNC="$D/db-$VERSION.NC"
DOCS=`pwd`/../../docs_books
DB_ADDONS=`pwd`/../../db_addons
DOCS=`pwd`/../../docs_books-5.3
DB_ADDONS=`pwd`/../../db_addons-5.3
if [ ! -d $DB_ADDONS ]; then
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,
# 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
# under the terms of the GNU General Public License as published by
@ -792,13 +792,12 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
case ${UNAME_MACHINE} in
pc98)
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
UNAME_PROCESSOR=`/usr/bin/uname -p`
case ${UNAME_PROCESSOR} in
amd64)
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
exit ;;
i*:CYGWIN*:*)
@ -807,6 +806,9 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
@ -882,7 +884,13 @@ EOF
then
echo ${UNAME_MACHINE}-unknown-linux-gnu
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
exit ;;
avr32*:Linux:*:*)
@ -897,6 +905,9 @@ EOF
frv:Linux:*:*)
echo frv-unknown-linux-gnu
exit ;;
hexagon:Linux:*:*)
echo hexagon-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
LIBC=gnu
eval $set_cc_for_build
@ -972,7 +983,7 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
tile*:Linux:*:*)
echo ${UNAME_MACHINE}-tilera-linux-gnu
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
vax:Linux:*:*)
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. */
#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. */
#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,
# 2011 Free Software Foundation, Inc.
timestamp='2011-03-23'
timestamp='2011-11-11'
# This file is (in principle) common to ALL 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] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| be32 | be64 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep | metag \
@ -291,7 +295,7 @@ case $basic_machine in
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
| rx \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
@ -300,7 +304,7 @@ case $basic_machine in
| spu \
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@ -357,6 +361,7 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \
@ -365,8 +370,10 @@ case $basic_machine in
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@ -400,7 +407,7 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| 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-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
@ -408,10 +415,11 @@ case $basic_machine in
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile-* | tilegx-* \
| tile*-* \
| tron-* \
| ubicom32-* \
| v850-* | v850e-* | vax-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@ -808,10 +816,18 @@ case $basic_machine in
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i386-pc
os=-msys
;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
nacl)
basic_machine=le32-unknown
os=-nacl
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
@ -1120,13 +1136,8 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
# This must be matched before tile*.
tilegx*)
basic_machine=tilegx-unknown
os=-linux-gnu
;;
tile*)
basic_machine=tile-unknown
basic_machine=$basic_machine-unknown
os=-linux-gnu
;;
tx39)
@ -1336,7 +1347,7 @@ case $os in
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \

116
dist/configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# 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>.
#
@ -569,15 +569,15 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Berkeley DB'
PACKAGE_TARNAME='db-5.2.28'
PACKAGE_VERSION='5.2.28'
PACKAGE_STRING='Berkeley DB 5.2.28'
PACKAGE_TARNAME='db-5.3.21'
PACKAGE_VERSION='5.3.21'
PACKAGE_STRING='Berkeley DB 5.3.21'
PACKAGE_BUGREPORT='Oracle Technology Network Berkeley DB forum'
PACKAGE_URL=''
ac_unique_file="../src/db/db.c"
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.
ac_includes_default="\
#include <stdio.h>
@ -867,6 +867,7 @@ enable_systemtap
enable_perfmon_statistics
enable_uimutexes
enable_umrw
enable_atomicfileread
enable_cryptography
with_cryptography
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.
# This message is too long to be a string in the A/UX 3.1 sh.
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]...
@ -1488,7 +1489,7 @@ Fine tuning of the installation directories:
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root
[DATAROOTDIR/doc/db-5.2.28]
[DATAROOTDIR/doc/db-5.3.21]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
@ -1510,7 +1511,7 @@ fi
if test -n "$ac_init_help"; then
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
cat <<\_ACEOF
@ -1564,6 +1565,8 @@ Optional Features:
statistics values [default=no].
--enable-uimutexes Force use of Unix International mutexes.
--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-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
@ -1668,7 +1671,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
Berkeley DB configure 5.2.28
Berkeley DB configure 5.3.21
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@ -2447,7 +2450,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
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
$ $0 $@
@ -3009,13 +3012,13 @@ DB_VERSION_RELEASE="2"
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.
@ -3621,6 +3624,31 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $db_cv_umrw" >&5
$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.
# Until Berkeley DB 5.0, this was a simple yes/no decision.
# With the addition of support for Intel Integrated Performance Primitives (ipp)
@ -3729,7 +3757,7 @@ $as_echo "$with_uniquename" >&6; }
else
db_cv_uniquename="yes"
if test "$with_uniquename" = "yes"; then
DB_VERSION_UNIQUE_NAME="_5002"
DB_VERSION_UNIQUE_NAME="_5003"
else
DB_VERSION_UNIQUE_NAME="$with_uniquename"
fi
@ -17857,7 +17885,7 @@ else
JAVA_TEST=Test.java
CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST
/* #line 17860 "configure" */
/* #line 17888 "configure" */
public class Test {
}
EOF
@ -18120,7 +18148,7 @@ EOF
if uudecode$EXEEXT Test.uue; then
ac_cv_prog_uudecode_base64=yes
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
cat Test.uue >&5
ac_cv_prog_uudecode_base64=no
@ -18238,7 +18266,7 @@ else
JAVA_TEST=Test.java
CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST
/* #line 18241 "configure" */
/* #line 18269 "configure" */
public class Test {
}
EOF
@ -18273,7 +18301,7 @@ JAVA_TEST=Test.java
CLASS_TEST=Test.class
TEST=Test
cat << \EOF > $JAVA_TEST
/* [#]line 18276 "configure" */
/* [#]line 18304 "configure" */
public class Test {
public static void main (String args[]) {
System.exit (0);
@ -20501,7 +20529,8 @@ if test "$db_cv_mingw" = yes; then
fi
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
# 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
#
# If the user specified we use POSIX pthreads mutexes, and we fail to
# find the full interface, try and configure for just intra-process
# support.
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
LIBS="$LIBS -lpthread"
# If we find POSIX pthreads mutexes but not the full interface,
# try to configure for just intra-process support.
case "$host_os" in
darwin*)
# 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 :
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
fi
LIBS="$orig_libs"
fi
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
LIBS="$orig_libs"
fi
if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then
if test "$cross_compiling" = yes; then :
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
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 "$cross_compiling" = yes; then :
@ -24056,10 +24099,10 @@ $as_echo "loading" >&6; }
$as_echo "file not found" >&6; }
fi
# DB requires at least version 8.4.
# DB requires at least version 8.5.
if test ${TCL_MAJOR_VERSION} -lt 8 \
-o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 4; then
as_fn_error $? "Berkeley DB requires Tcl version 8.4 or better." "$LINENO" 5
-o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 5; then
as_fn_error $? "Berkeley DB requires Tcl version 8.5 or better." "$LINENO" 5
fi
# 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.
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
@ -24529,6 +24572,8 @@ ac_cv_lib_socket=ac_cv_lib_socket_main
esac
ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(REPMGR_OBJS)"
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}"
fi
else
@ -25211,7 +25256,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
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
CONFIG_FILES = $CONFIG_FILES
@ -25277,7 +25322,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
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,
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 "$enable_shared" != "" && jdbc_args="$jdbc_args --enable-shared=$enable_shared"
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
# 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,
[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)
if test "$with_stacksize" != "no"; then
@ -955,6 +955,7 @@ if test "$db_cv_build_replication" = "yes"; then
esac
ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(REPMGR_OBJS)"
else
AC_MSG_WARN([Replication manager is not supported.])
ADDITIONAL_OBJS="$ADDITIONAL_OBJS repmgr_stub${o}"
fi
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
* events hierarchy is processes by dist/s_perfmon to generate the
* platform-specific files needed by the configured operating system.
* events hierarchy is processed by 'dist/s_include' to generate the
* 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
* of a single word. The class's individual function-like events follow.
* s_include -> dist/db_provider.d
* configure -> <build_directory>/db_provider.h
*
* Some of these are included to enhance consistency; thse calls could be
* supported by pid$target::<function>:entry (DTrace) or
* probe process("$LIB").function("<function>").call (SystemTap) probes.
* There are two kinds of entries in events.in, describing either an event class
* or an individual event. The entries starting in the first column are class
* names, consisting of a single word. The class's individual events follow,
* described as if they were an ANSI C function signature;
*
* For DTrace
* dist/bdb_provider.d
* util/dtrace/dbdefs.d
*
* Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.
* Events are listed grouped by their relation to one another, rather than
* alphabetically. For instance allocation and free events are adjacent.
* New, unrelated events are placed at the end of their event class.
*
* 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_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
* 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
# events hierarchy is processes by dist/s_perfmon to generate the
# platform-specific files needed by the configured operating system.
# events hierarchy is processed by 'dist/s_include' to generate the
# 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
# of a single word. The class's individual function-like events follow.
# s_include -> dist/db_provider.d
# configure -> <build_directory>/db_provider.h
#
# Some of these are included to enhance consistency; thse calls could be
# supported by pid$target::<function>:entry (DTrace) or
# probe process("$LIB").function("<function>").call (SystemTap) probes.
# There are two kinds of entries in events.in, describing either an event class
# or an individual event. The entries starting in the first column are class
# names, consisting of a single word. The class's individual events follow,
# described as if they were an ANSI C function signature;
#
# For DTrace
# dist/bdb_provider.d
# util/dtrace/dbdefs.d
#
# Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.
# Events are listed grouped by their relation to one another, rather than
# alphabetically. For instance allocation and free events are adjacent.
# New, unrelated events are placed at the end of their event class.
#
# Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved.
#
# 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_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
# is one of the MTX_XXX definitions from dbinc/mutex.h
mutex

7
dist/gen_msg.awk vendored
View file

@ -1,7 +1,7 @@
#
# 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$
#
@ -404,7 +404,10 @@ function emit_unmarshal()
}
printf("\tDB_NTOHL_COPYIN(env, argp->%s.size, bp);\n", \
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", \
vars[i]) >> 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.
#
# 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$
#

18
dist/pubdef.in vendored
View file

@ -28,6 +28,7 @@ DB_AM_IN_RENAME * I * *
DB_AM_NOT_DURABLE * I * *
DB_AM_OPEN_CALLED * I * *
DB_AM_PAD * I * *
DB_AM_PARTDB * I * *
DB_AM_PGDEF * I * *
DB_AM_RDONLY * 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_CREATE * 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_BOOTSTRAP_HELPER 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_TXN 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_JOIN_ITEM 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_GET D I J C
DB_LOCK_GET_TIMEOUT D I J C
DB_LOCK_IGNORE_REC * I * *
DB_LOCK_INHERIT * I * *
DB_LOCK_IREAD 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_USE_ENVIRON 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_FILEOPS D I J C
DB_VERB_FILEOPS_ALL D I J C
@ -543,3 +556,6 @@ DB_WRITELOCK * I * *
DB_WRITEOPEN * I * *
DB_XA_CREATE D I * *
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 test_path @srcdir@/../test/tcl" && \
echo "set je_root @srcdir@/../../je" && \
echo "set tcl_utils @srcdir@/../test/tcl_utils" && \
echo "" && \
echo "global testdir" && \
echo "set testdir ./TESTDIR" && \
@ -54,6 +55,7 @@ cmp $t $f > /dev/null 2>&1 ||
echo "set src_root .." && \
echo "set test_path ../test/tcl" && \
echo "set je_root ../../je" && \
echo "set tcl_utils ../test/tcl_utils" && \
echo "" && \
echo "global 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_auto.c android vx vxsmall
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_cds.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_util.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_failchk.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/heap/heap_auto.c vx
src/heap/heap_autop.c vx
src/heap/heap_backup.c vx
src/heap/heap.c vx
src/heap/heap_conv.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_stub.c android 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_fget.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_mkdir.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_rename.c android vx vxsmall
src/os/os_root.c android vx vxsmall

View file

@ -113,6 +113,6 @@ r
r "--disable-static"
r "--enable-cxx"
r "--enable-java"
r "--with-tcl=/usr/local/lib/tcl8.4"
r "--enable-test --with-tcl=/usr/local/lib/tcl8.4"
r "--enable-cxx --enable-java --with-tcl=/usr/local/lib/tcl8.4"
r "--with-tcl=/usr/local/lib/tcl8.5"
r "--enable-test --with-tcl=/usr/local/lib/tcl8.5"
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.
*
* 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>

View file

@ -1,7 +1,7 @@
/*-
* 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>

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -64,6 +64,7 @@ END_OF_TEXT
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/^#.*[ ]\(DB2_[A-Z_0-9][A-Z_0-9]*\).*/\1/p' \
-e 's/[ ]\(DB_[A-Z_]*\)=[0-9].*/\1/p' \
-e d |
while read name; do

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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 $
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*
* 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$
*
@ -24,7 +24,7 @@
#ifndef lint
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
#define BUFFER_LEN 30 /* Buffer size to hold data */
@ -90,13 +90,13 @@ main(argc, argv)
DB *dbp;
u_int32_t cachesize, ghpsize, hpsize, pgsize;
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;
dbenv = NULL;
dbp = NULL;
cachesize = 0;
ret = set_ghpsize = set_hpsize = test_btree = 0;
ret = ret_t = set_ghpsize = set_hpsize = test_btree = 0;
home = NULL;
recs_per_rep = DEF_RECS_PER_REP;
@ -200,13 +200,15 @@ main(argc, argv)
}
}
err:
if (dbp != NULL && (ret = dbp->close(dbp, 0)) != 0)
dbenv->err(dbenv, ret, "DB->close");
dbp = NULL;
if (dbp != NULL && (ret_t = dbp->close(dbp, 0)) != 0) {
dbenv->err(dbenv, ret_t, "DB->close");
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,
db_strerror(ret));
db_strerror(ret_t));
ret = (ret == 0 ? ret_t : ret);
}
return (ret);
@ -456,7 +458,7 @@ generate_data(buf, rec_no, test_var)
int rec_no, test_var;
{
const char *str = "abcdefghijklmnopqrst";
size_t len = strlen(str);
int len = (int)strlen(str);
/*
* Default use the fix-length data,

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/
@ -342,7 +342,7 @@ connect_all(args)
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");
ret = 1;
goto err;

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/
@ -92,7 +92,7 @@ Db::Db(DbEnv *dbenv, u_int32_t flags)
, construct_flags_(flags)
, append_recno_callback_(0)
, associate_callback_(0)
, associate_foreign_callback_(0)
, associate_foreign_callback_(0)
, bt_compare_callback_(0)
, bt_compress_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),
(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.
// 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_METHOD(set_heapsize, (u_int32_t gbytes, u_int32_t bytes),
(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, func), DB_RETOK_STD)
DB_METHOD(get_h_ffactor, (u_int32_t *h_ffactorp),

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/
@ -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));
}
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)
{
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));
}
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
// DB_ENV handle from the constructor until close().
// 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,
// 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(get_encrypt_flags, (u_int32_t *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(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(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(set_mp_max_openfd, (int maxopenfd), (dbenv, maxopenfd))
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);
}
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))
int DbEnv::cdsgroup_begin(DbTxn **tid)
@ -1333,6 +1447,12 @@ DBENV_METHOD(set_timeout,
(db_timeout_t timeout, u_int32_t 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
char *DbEnv::version(int *major, int *minor, int *patch)
{

View file

@ -1,7 +1,7 @@
/*-
* 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$
*/

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