summaryrefslogtreecommitdiff
path: root/databases/db4/distinfo
AgeCommit message (Collapse)AuthorFilesLines
2016-09-08Fix build on SunOS when the default compilation environment is C99+.jperkin1-1/+2
2015-11-03Add SHA512 digests for distfiles for databases categoryagc1-1/+2
Problems found with existing distfiles: distfiles/D6.data.ros.gz distfiles/cstore0.2.tar.gz distfiles/data4.tar.gz distfiles/sphinx-2.2.7-release.tar.gz No changes made to the cstore or mariadb55-client distinfo files. Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
2015-09-08Avoid overlap between db's atomic.h and stdatomic.h.joerg1-2/+7
2014-07-23Fix build under NetBSD etc.ryoon1-3/+3
Noted by wiz@.
2014-07-18Fix SCO OpenServer 5.0.7/3.2 build.ryoon1-1/+3
2014-06-07regen.obache1-2/+3
2014-03-17FreeBSD 10 is not FreeBSD 1.asau1-2/+2
2012-05-29Fix build with Clang.joerg1-1/+2
2011-02-04Remove the last hunk from patch-ab for configure.obache1-2/+2
It was added for DragonFly, but not required for recent DF release, and break build on AIX-5.3, as PR#44446.
2010-09-28Fixes build failure on MIPS arch, PR#43894.obache1-1/+2
2010-06-02Changes 4.8.30:adam1-10/+6
* The log file format changed in 11gR2. * Replication Manager sites can specify one or more possible client-to-client peers. * Added resource management feature in all Berkeley DB APIs to automatically manage cursor and database handles by closing them when they are not required, if they are not yet closed. * Added a SQL interface to the Berkeley DB library. The interface is based on - and a drop-in-replacement for - the SQLite API. It can be accessed via a command line utility, a C API, or existing APIs built for SQLite. * Added hash databases support to the DB->compact interface. * Renamed the "db_sql" utility to "db_sql_codegen". This utility is not built by default. To build this utility, enter --enable-sql_codegen as an argument to configure. * Added transactional support in db_sql_codegen utility. Specify TRANSACTIONAL or NONTRANSACTIONAL in hint comments in SQL statement, db_sql_codegen enable/disable transaction in generated code accordingly. * Added the feature read-your-writes consistency that allows client application to check, or wait for a specific transaction to be replicated from the master before reading database. * Added DB log verification feature, accessible via the API and a new utility. This feature can help debugging and analysis. * Added support for applications to assign master/client role explicitly at any time. Replication Manager can now be configured not to initiate elections. * more...
2009-07-09Make it build with DragonFly master.hasso1-2/+2
2009-01-21add 2 more patches from the distribution site, fixing a deadlockdrochner1-1/+3
and a segfault
2008-11-18Fix RCS Id in patch-ab.wiz1-2/+2
2008-09-07Correct broken compatibility code. This should fix PR pkg/39499.tron1-4/+2
2008-09-06Update to 4.7.25.1:wiz1-7/+11
Berkeley DB 4.7.25 Change Log Database or Log File On-Disk Format Changes: 1. The log file format changed in 4.7. New Features: 1. The lock manager may now be fully partitioned, improving performance on some multi-CPU systems. [#15880] 2. Replication groups are now architecture-neutral, supporting connections between differing architectures (big-endian or little-endian, independent of structure padding). [#15787] [#15840] 3. Java: A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based persistent object model, which provides support for complex object models without compromises in performance. For an introduction to the Direct Persistence Layer API, see Getting Started with Data Storage. [#15936] 4. Add the DB_ENV->set_intermediate_dir_mode method to support the creation of intermediate directories needed during recovery. [#15097] 5. The DB_ENV->failchk method can now abort transactions for threads, which have failed while blocked on a concurrency lock. This significantly decreases the need for database environment recovery after thread of control failure. [#15626] 6. Replication Manager clients now can be configured to monitor the connection to the master using heartbeat messages, in order to promptly discover connection failures. [#15714] 7. The logging system may now be configured to pre-zero log files when they are created, improving performance on some systems. [#15758] Database Environment Changes: 1. Restructure aborted page allocation handling on systems without an ftruncate system call. This enables the Berkeley DB High Availability product on systems, which do not support ftruncate. [#15602] 2. Fix a bug where closing a database handle after aborting a transaction which included a failed open of that handle could result in application failure. [#15650] 3. Fix minor memory leaks when closing a private database environment. [#15663] 4. Fix a bug leading to a panic of "unpinned page returned" if a cursor was used for a delete multiple times and deadlocked during one of the deletes. [#15944] 5. Optionally signal processes still running in the environment before running recovery. [#15984] Concurrent Data Store Changes: None. General Access Method Changes: 1. Fix a bug where closing a database handle after aborting a transaction which included a failed open of that database handle could result in application failure. [#15650] 2. Fix a bug that could cause panic in a database environment configured with POSIX-style thread locking, if a database open failed. [#15662] 3. Fix bug in the DB->compact method which could cause a panic if a thread was about to release a page while another thread was truncating the database file. [#15671] 4. Fix an obscure case of interaction between a cursor scan and delete that was prematurely returning DB_NOTFOUND. [#15785] 5. Fix a bug in the DB->compact method where if read-uncommitted was configured, a reader reading uncommitted data my see an inconsistent entry between when the compact method detects an error and when it aborts the enclosing transaction. [#15856] 6. Fix a bug in the DB->compact method where a thread of control mail fail if two threads are compacting the same section of a Recno database. [#15856] 7. Fix a bug in DB->compact method, avoid an assertion failure when zero pages can be freed. [#15965] 8. Fix a bug return a non-zero error when DB->truncate is called with open cursors. [#15973] 9. Fix a bug add HANDLE_DEAD checking for DB cursors. [#15990] 10. Fix a bug to now generate errors when DB_SEQUENCE->stat is called without first opening the sequence. [#15995] 11. Fix a bug to no longer dereference a pointer into a hash structure, when hash functionality is disabled. [#16095] Btree Access Method Changes: None. Hash Access Method Changes: 1. Fix a bug where a database store into a Hash database could self-deadlock in a database environment configured for the Berkeley DB Concurrent Data Store product, and with a free-threaded DB_ENV or DB handle. [#15718] Queue Access Method Changes: 1. Fix a bug that could cause a put or delete of a queue element to return a DB_NOTGRANTED error, if blocked. [#15933] Recno Access Method Changes: 1. Expose db_env_set_func_malloc, db_env_set_func_realloc, and db_env_set_func_free through the Windows API for the DB dll. [#16045] C-specific API Changes: None. Java-specific API Changes: 1. Fix a bug where enabling MVCC on a database through the Java API was ignored. [#15644] 2. Fixed memory leak bugs in error message buffering in the Java API. [#15843] 3. Fix a bug where Java SecondaryConfig was not setting SecondaryMultiKeyCreator from the underlying db handle [OTN FORUM} 4. Fix a bug so that getStartupComplete will now return a boolean instead of an int. [#16067] 5. Fix a bug in the Java API, where Berkeley DB would hang on exit when using replication. [#16142] Direct Persistence Layer (DPL), Bindings and Collections API: 1. A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based persistent object model, which provides support for complex object models without compromises in performance. For an introduction to the Direct Persistence Layer API, see Getting Started with Data Storage. [#15936] 2. Fixed a bug in the remove method of the Iterator instances returned by the StoredCollection.iterator method in the collections package. This bug caused ArrayIndexOutOfBoundsException in some cases when calling next, previous, hasNext or hasPrevious after calling remove. (Note that this issue does not apply to StoredIterator instances returned by the StoredCollection.storedIterator method.) This bug was reported in this forum thread: http://forums.oracle.com/forums/thread.jspa?messageID=2187896 [#15858] 3. Fixed a bug in the remove method of the StoredIterator instances returned by StoredCollection.storedIterator method in the collections package. If the sequence of methods next-remove-previous was called, previous would sometimes return the removed record. If the sequence of methods previous-remove-next was called, next would sometimes return the removed record. (Note that this issue does not apply to Iterator instances returned by the StoredCollection.iterator method.) [#15909] 4. Fixed a bug that causes a memory leak for applications where many Environment objects are opened and closed and the CurrentTransaction or TransactionRunner class is used. The problem was reported in this JE Forum thread: http://forums.oracle.com/forums/thread.jspa?messageID=1782659 [#15444] 5. Added StoredContainer.areKeyRangesAllowed method. Key ranges and the methods in SortedMap and SortedSet such as subMap and subSet are now explicitly disallowed for RECNO and QUEUE databases -- they are only supported for BTREE databases. Before, using key ranges in a RECNO or QUEUE database did not work, but was not explicitly prohibited in the Collections API. [#15936] Tcl-specific API Changes: 1. The Berkeley DB Tcl API does not attempt to avoid evaluating input as Tcl commands. For this reason, it may be dangerous to pass unreviewed user input through the Berkeley DB Tcl API, as the input may subsequently be evaluated as a Tcl command. To minimize the effectiveness of a Tcl injection attack, the Berkeley DB Tcl API in the 4.7 release routine resets process' effective user and group IDs to the real user and group IDs. [#15597] RPC-specific Client/Server Changes: None. Replication Changes: 1. Fix a bug where a master failure resulted in multiple attempts to perform a "fast election"; subsequent elections, when necessary, now use the normal nsites value. [#15099] 2. Replication performance enhancements to speed up failover. [#15490] 3. Fix a bug where replication could self-block in a database environment configured for in-memory logging. [#15503] 4. Fix a bug where replication would attempt to read log file version numbers in a database configured for in-memory logging. [#15503] 5. Fix a bug where log files were not removed during client initialization in a database configured for in-memory logging. [#15503] 6. The 4.7 release no longer supports live replication upgrade from the 4.2 or 4.3 releases, only from the 4.4 and later releases. [#15602] 7. Fix a bug where replication could re-request missing records on every arriving record. [#15629] 8. Change the DB_ENV->rep_set_request method to use time, not the number of messages, when re-requesting missed messages on a replication client. [#15629] 9. Fix a minor memory leak on the master when updating a client during internal initialization. [#15634] 10. Fix a bug where a client error when syncing with a new replication group master could result in an inability to ever re-join the group. [#15648] 11. Change dbenv->rep_set_request to use time-based values instead of counters. [#15682] 12. Fix a bug where a LOCK_NOTGRANTED error could be returned from the DB_ENV->rep_process_message method, instead of being handled internally by replication. [#15685] 13. Fix a bug where the Replication Manager would reject a fresh connection from a remote site that had crashed and restarted, displaying the message: "redundant incoming connection will be ignored". [#15731] 14. The Replication Manager now supports dynamic negotiation of the best available wire protocol version, on a per-connection basis. [#15783] 15. Fix a bug, which could lead to slow performance of internal initialization under the Replication Manager, as evidenced by "queue limit exceeded" messages in verbose replication diagnostic output. [#15788] 16. Fix a bug where replication control message were not portable between replication clients with different endian architectures. [#15793] 17. Add a configuration option to turn off Replication Manager's special handling of elections in 2-site groups. [#15873] 18. Fix a bug making it impossible to call replicationManagerAddRemoteSite in the Java API after having called replicationManagerStart. [#15875] 19. Fix a bug where the DB_EVENT_REP_STARTUPDONE event could be triggered too early. [#15887] 20. Fix a bug where the rcvd_ts timestamp is reset when the user just changes the threshold. [#15895] 21. Fix a bug where the master in a 2-site replication group might wait for client acknowledgement, even when there was no client connected. [#15927] 22. Fix a bug, clean up and restart internal init if master log is gone. [#16006] 23. Fix a bug, ignore page messages that are from an old internal init. [#16075] [#16059] 24. Fix a bug where checkpoint records do not indicate a database was a named in-memory database. [#16076] 25. Fix a bug with in-memory replication, where we returned with the log region mutex held in an error path, leading to self-deadlock. [#16088] 26. Fix a bug which causes the DB_REP_CHECKPOINT_DELAY setting in rep_set_timeout() to be interpreted in seconds, rather than microseconds. [#16153] XA Resource Manager Changes: 1. Fix a bug where the DB_ENV->failchk method and replication in general could fail in database environments configured for XA. [#15654] Locking Subsystem Changes: 1. Fix a bug causing a lock or transaction timeout to not be set properly after the first timeout triggers on a particular lock id. [#15847] 2. Fix a bug that would cause a trap if DB_ENV->lock_id_free was passed an invalid locker id. [#16005] 3. Fix a bug when thread tracking is enabled where an attempt is made to release a mutex that is not lock. [#16011] Logging Subsystem Changes: 1. Fix a bug, handle zero-length log records doing HA sync with in-memory logs. [#15838] 2. Fix a bug that could cause DB_ENV->failcheck to leak log region memory. [#15925] 3. Fix a bug where the abort of a transaction that opened a database could leak log region memory. [#15953] 4. Fix a bug that could leak memory in the DB_ENV->log_archive interface if a log file was not found. [#16013] Memory Pool Subsystem Changes: 1. Fix multiple MVCC bugs including a race, which could result in incorrect data being returned to the application. [#15653] 2. Fixed a bug that left an active file in the buffer pool after a database create was aborted. [#15918] 3. Fix a bug where there could be uneven distribution of pages if a single database and multiple cache regions are configured. [#16015] 4. Fix a bug where DB_MPOOLFILE->set_maxsize was dropping the wrong mutex after open. [#16050] Mutex Subsystem Changes: 1. Fix a bug where mutex contention in database environments configured for hybrid mutex support could result in performance degradation. [#15646] 2. Set the DB_MUTEX_PROCESS_ONLY flag on all mutexes in private environments, they can't be shared and so we can use the faster, intra-process only mutex implementations [#16025] 3. Fix a bug so that mutexes are now removed from the environment signature if mutexes are disabled. [#16042] Transaction Subsystem Changes: 1. Fix a bug that could cause a checkpoint to selfblock attempting to flush a file, when the file handle was closed by another thread during the flush. [#15692] 2. Fix a bug that could cause DB_ENV->failcheck to hang if there were pending prepared transactions in the environment. [#15925] 3. Prepared transactions will now use the sync setting from the environment. Default to flushing the log on commit (was nosync). [#15995] 4. If __txn_getactive fails, we now return with the log region mutex held. This is not a bus since __txn_getactive cannot really fail. [#16088] Utility Changes: 1. Update db_stat with -x option for mutex stats 2. Fix an incorrect assumption about buffer size when getting an overflow page in db_verify. [#16064] Configuration, Documentation, Sample Application, Portability and Build Changes: 1. Fix an installation bug where the Berkeley DB PHP header file was not installed in the correct place. 2. Merge the run-time configuration sleep and yield functions. [#15037] 3. Fix Handle_DEAD and other expected replication errors in the C++ sample application ReqQuoteExample.cpp. [15568] 4. Add support for monotonic timers. [#15670] 5. Fix bugs where applications using the db_env_func_map and db_env_func_unmap run-time configuration functions could not join existing database environments, or open multiple DB_ENV handles for a single environment. [#15930] 6. Add documentation about building Berkeley DB for VxWorks 6.x. 7. Remove the HAVE_FINE_GRAINED_LOCK_MANAGER flag, it is obsolete in 4.7. 8. Fix a bug in ex_rep, add a missing break which could cause a segment fault. 9. Fix build warnings from 64 bit Windows build. [#16029] 10. Fix an alignment bug on ARM Linux. Force the assignment to use memcpy. [#16125] 11. Fix a bug in the Windows specific code of ex_sequence.c, where there was an invalide printf specifier. [#16131] 12. Improve the timer in ex_tpcb to use high resolution timers. [#16154] 13. Mention in the documentation that env->open() requires DB_THREAD to be specified when using repmgr. [#16163] 14. Disable support for mmap on Windows CE. The only affect is that we do not attempt to mmap small read only databases into the mpool. [#16169]
2008-05-31Use pax(1) instead of cp -pr to install the documentation files, becausetnn1-2/+2
cp -pr on Solaris mysteriously and silently fails to copy the entire directory structure. Spotted in bulk build.
2008-05-09PR pkg/38616: Hasso Tepper: Fix build on DragonFlyBSD.tnn1-2/+2
The configure script checks for sizeof(FILE), which is an opaque type. It can be argued that it should check for FILE* instead because that's what it uses, but take the shortest path of resistance and disable the check on DragonFly. Upstream is aware of the issue.
2008-01-10Changes 4.6.21:adam1-13/+7
* Fix a bug where mutex contention in database environments configured for hybrid mutex support could result in performance degradation. * Fix a bug where closing a database handle after aborting a transaction which included a failed open of that database handle could result in application failure. * Fix multiple MVCC bugs including a race which could result in incorrect data being returned to the application. * Fix a bug where a database store into a Hash database could self-deadlock in a database environment configured for the Berkeley DB Concurrent Data Store product and with a free-threaded DB_ENV or DB handle. * Fix an installation bug where Berkeley DB's PHP header file was not installed in the correct place.
2007-06-08Update to 4.5.20.2:wiz1-19/+13
Multi-Version Concurrency Control (MVCC) improves performance of highly concurrent, mixed read/write systems by giving each user their own snapshot of the database and managing concurrent changes by many users Non-stop Upgrades enables a replicated Oracle Berkeley DB system to be upgraded without downtime. For customers that must maintain 99.999 percent system uptime, this allows them to upgrade the Oracle Berkeley DB database without taking down the entire system Replication Framework provides a pre-built and supported set of functions for quickly building replicated or highly available systems, simplifying and accelerating their development effort
2006-11-05DESTDIR support.joerg1-2/+2
2006-10-20Add two official patches. Bump pkgrevision.obache1-1/+7
3. Fix a bug where cursor lookups on secondary databases with off-page duplicates could fail. [#14240] 4. Fix a bug where cache buffer retrieval could race with a checkpoint call, potentially causing database environment recovery to fail. [#14657]
2006-10-05Fixed a "test ==" in the configure script. Fixed some pkglint warnings.rillig1-2/+2
2006-02-09Set DIST_SUBDIR due to the distfile change (.java files were removed).minskim1-10/+10
2006-02-05Update to 4.4.20:wiz1-4/+10
Changes since Berkeley DB 4.4.16: 1. Add support for Visual Studio 2005. [#13521] 2. Fix a bug with in-memory transaction logs when files wrapped around the buffer. [#13589] 3. Fix a bug where we needed to close replication's open files during replication initialization. [#13623] 4. Fix a bug which could leave locks in the environment if database compaction was run in a transactional environment on a non-transactional database. This might have also have triggered deadlocks if the database was opened transactionally. [#13680] 5. Fix a bug where setting the DB_REGISTER flag could result in unnecessarily running recovery, or corruption of the registry file on Windows systems. [#13789] 6. Fix a bug in Database.compact that could cause JVM crashes or NullPointerException. [#13791] 7. Fix a bug that would cause a trap if an environment was opened specifying DB_REGISTER and the environment directory could not be found. [#13793] 8. Fix a buffer overflow bug when displaying process and thread IDs in the Berkeley DB statistics output. [#13796] 9. Fix a bug where if there is insufficient memory for a database key in a DBT configured to return a key value into user-specified memory, the cursor is moved forward to the next entry in the database, which can cause applications to skip key/data pairs. [#13815] 10. Fix a bug that could cause the loss of an update to a QUEUE database in a hot backup. [#13823] 11. Fix a bug where retrieval from a secondary index could result in a core dump. [#13843] 12. Fix a bug that could cause part of the free list to become unlinked if a btree compaction was rolled back due to a transaction abort. [#13891] 13. Fix a bug with in-memory logging that could cause a race condition to corrupt the logs. [#13919] [no shlib major bump this time, yay]
2006-01-06Update to 4.4.16:wiz1-8/+7
New in Berkeley DB 4.4: * In-memory replication * Client-to-client replication * Delayed client synchronization * Synchronization throttling * Master election speed-ups * Hot backup utility * Online Btree compaction * Online Btree disk space reclamation * Online abandoned lock removal * Automated recovery serialization * Transactional Application Developer's Guide
2005-11-09Now that we're properly using the pkgsrc-supplied libtool, clean up thetv1-2/+2
bits of "configure" that were twiddling only libtool-config bits, as these are no longer used.
2005-11-04Use the pkgsrc-installed libtool, not the throwaway in-tree libtool, totv1-2/+2
choose between link commands for shared or static linking. Should fix shlib build and install on Interix.
2005-10-25Update databases/db4 to 4.3.29. This is a point release update overjlam1-8/+8
4.3.28, so there are no API changes, and applications may be upgraded by relinking against db4-4.3.29. We stop pretending to support a "java" package option since we never even bothered with handling the PLIST differences. Changes from version 4.3.28 include: * The on-disk log format has changed. * Add support for lightweight, transactionally protected Sequence Number generation. * Add support for Degree 2 isolation. * Add election generation information to replication to support Paxos compliance. * A huge number of bug fixes, including eliminating some instances of application deadlock and memory leak fixes. * Some minor performance enhancements.
2005-08-19This adds DragonFly support. (Before shared libraries were not built.)reed1-2/+2
This is from Joerg Sonnenberger's diff. I do not know if this support has been submitted to Sleepycat for dist/configure* yet.
2005-05-10update to 4.3.28drochner1-4/+4
The Announcement: Berkeley DB 4.3.28 is a patch release to 4.3.27, everyone is encouraged to update to this version. The following have been addressed in this patch release: 1. All patches for the prior version have been applied as well as a few other fixes. 2. The product is available as a Windows x86 binary installer To see the change log for version 4.3.28, please visit: http://www.sleepycat.com/updat e/4.3.27/if.4.3.27.html
2005-02-23Add RMD160 digests in addition to SHA1 ones.agc1-1/+2
2005-01-17some older versions of SGI don't define "sgi", but both older and newerjschauma1-1/+2
versions define "__sgi", so use that. This should fix PR pkg/28819.
2005-01-05Updated db4 to 4.3.27martti1-6/+6
* bug fixes
2004-12-30Use the -pthread option only when pthread is enabled. Previously, theminskim1-2/+2
configure script still used -pthread during the POSIX mutex test even when we explicitly disabled pthread through CONFIGURE_ENV, resulting in re-enabling pthread. Bump PKGREVISION.
2004-12-27Update databases/db4 to 4.3.21. Changes from version 4.2.25 include:jlam1-10/+6
* Automatic initialization of replication clients * Replication election process is now Paxos compliant * In memory transaction logs allowing in memory databases * Enhanced Java API nearly identical to that of our Java Edition * Native support for sequence number generation * Degree 2 transaction isolation * Mutex statistics can now be easily gathered and recorded * Support for Itanium2 chips running Windows XP
2004-11-17x86_64 supports the same test-and-set method as x86, so use it insteadjlam1-2/+2
of relying on UNIX/fnctl, which can block all threads between processes and cause certain mutex assumptions to fail.
2004-11-10Use the distribution patches (patch.4.2.52.{1,2}) directly fromjlam1-6/+8
Sleepycat instead of patch-ba and patch-bb. Since patch-ba was actually an incomplete version of patch.4.2.52.1, we bump the PKGREVISION.
2004-07-01Add two patches from Sleepycat:recht1-1/+3
1. Long-running applications can hang in the Berkeley DB cache. http://www.sleepycat.com/update/4.2.52/patch.4.2.52.1 as patch-ba 2. Replication clients fail to lock all the necessary pages when applying updates if there were more than one database in the transaction. http://www.sleepycat.com/update/4.2.52/patch.4.2.52.2 as patch-bb Bump PKGREVISION to 4.
2004-06-28Move the HTML documentation into ${PREFIX}/share/doc/html. Bump thejlam1-2/+2
PKGREVISION due to user-visible difference.
2004-04-07When -lpthread is used, link the db4 library against it, so that programsjmmv1-2/+2
using -ldb4 alone don't complain about missing symbols. This fixes the build of some programs (like evolution-data-server), as exposed in Linux.
2003-12-08Work around a f77 ICE on NetBSD/sparc64 1.6* by "disabling" f77seb1-1/+2
completely. Please note that a Fortran compiler is not needed by this package but configure -libtool in fact- tickles it if one is found. Also fix build for older NetBSD/sparc64 compiler by patching SHA1 code the usual way.
2003-12-07Forgot to commit this with patch-aa change.epg1-2/+2
2003-12-07Update to 4.2.52.epg1-7/+5
Clean up Makefile. Set MAINTAINER to tech-pkg@NetBSD.org (previous maintainer, Alex Newman, says he no longer maintains this). Changes are too many to list.
2003-06-10Update to 4.1.25, based on PR 20289 by Daniel Farrugia.wiz1-5/+7
Database or Log File On-Disk Format Changes: 1. All of the access method database formats changed in the Berkeley DB 4.1 release (Btree/Recno: version 8 to version 9, Hash: version 7 to version 8, and Queue: version 3 to version 4). The format changes are entirely backward compatible, and no database upgrades are needed. Major New Features: 1. Berkeley DB now includes support for database encryption using the AES encryption standard. [#1797] 2. Berkeley DB now includes support for database page checksums to allow detection of database corruption during I/O. [#1797] 3. The shared memory buffer pool code base was substantially reworked in the 4.1 release to improve concurrent throughput. [#4655] General Environment Changes: 1. Allow applications to specify transaction handles to the DB->open method call, so database creation can be grouped with other Berkeley DB calls in a single transaction. [#4257] 2. Add the DB_ENV->remove and DB_ENV->rename method calls that support transactional protection of database removal and renaming. [#4257] 3. Add the DB_ENV->set_flags flags DB_DIRECT_DB and DB_DIRECT_LOG, which disable the system's buffer cache where possible. [#4526] 4. Unlock the pthread mutex if pthread_cond_wait() returns an error. [#4872] 5. Fix a memory leak caused by running recovery. [#4913] 6. Fix a bug in which closing an environment with open database handles could result in application crashes. [#4991] 7. Fix a bug where DB_CONFIG files were ignored if the database environment defaulted to the application's current working directory. [#5265] 8. Fix a bug where transaction abort or commit could fail to destroy the handle. [#5633] 9. Fix a set of bugs where the Berkeley DB API could return DB_RUNRECOVERY without panic-ing the database environment itself or calling the application's panic-callback function. [#5743] 10. Fix a bug in where DB=>rename and DB->remove method calls could leak a transaction and its locks. [#5824] 11. Fix a bug where recovery feedback could return values greater than 100. [#6193] 12. Fix a bug where a page allocated by a transaction, eventually aborted because of application or system failure, could appear twice in the free list, if catastrophic recovery was performed. [#6222] 13. Add a new flag, DB_AUTO_COMMIT, that wraps all database modification operations inside a transaction, to the DB_ENV->set_flags method. [#6395] 14. Fix a bug where recovery could fail when upgrading between releases. [#6372] 15. Fix a recovery bug where pages that were repeatedly freed and allocated could be lost. [#6479] [#6501] 16. Change DB_CONFIG reading to handle non-<newline> terminated last line. [#6490] General Access Method Changes: 1. Allow applications to specify transaction handles to the DB->associate method call, so secondary index creation can be grouped with other Berkeley DB calls in a single transaction. [#4185] 2. Add a new flag, DB_AUTO_COMMIT, that wraps single database operations inside a transaction. This flag is supported by the DB->del, DB->open, DB->put, DB->truncate,DB_ENV->remove, and DB_ENV->rename methods. [#4257] 3. The DB_EXCL DB->open method flag has been enhanced to work on subdatabases. [#4257] 4. Fix a bug in which a DB->put(DB_APPEND) could result in leaked memory or a corruption in the returned record number. [#5002] 5. Fix a bug in the database salvage code that could leave pages pinned in the cache. [#5037] 6. Add a flag to the DB->verify method to output salvaged key/data pairs in printable characters. [#5037] 7. Fix a bug in which DB->verify() might continue and report extraneous database corruption after a fatal error. [#5131] 8. Fix a bug where calling the DB->stat method before the DB->open method could drop core. [#5190] 9. Fix a bug in which a DB->get, DBcursor->c_get, or DBcursor->c_pget on a secondary index, in the Concurrent Data Store product, could result in a deadlock. [#5192] 10. Fix a bug in which DB->verify() could correctly report errors but still return success. [#5297] 11. Add support for the DB->set_cache_priority interface, that allows applications to set the underlying cache priority for their database files. [#5375] 12. Fix a bug where calling DBcursor->c_pget with a database that is not a secondary index would drop core. [#5391] 13. Fix a bug where a bug in the DB->truncate method could cause recovery to fail. [#5679] 14. Fix a bug where DB_GET_RECNO would fail if specified to a secondary index. [#5811] 15. Fix a bug where building a secondary index for an existing primary database could fail in Concurrent Data Store environments. [#5811] 16. Fix a bug where the DB->rename method could fail, causing a problem during recovery. [#5893] 17. Fix a bug in which a DB->get or DB->pget call on a secondary index could fail when done with a handle shared among multiple threads. [#5899] 18. Fix a bug in which a DB->put operation on a database with off-page duplicates could leak a duplicate cursor, thereby preventing transactions being able to commit. [#5936] 19. Fix a bug where overflow page reference counts were not properly maintained when databases were truncated. [#6168] 20. Fix a bug where the bulk get APIs could allocate large amounts of heap memory. [#6439] [#6520] Btree Access Method Changes: 1. Fix a bug that prevented loads of sorted data, with duplicates at the end of the tree, from creating compact trees. [#4926] 2. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470] 3. Fix a bug where the fast-search code could hold an unlocked reference to a page, which could lead to recovery failure. [#5518] 4. Fix a bug where some cursor operations on a database, for which the bt_minkey size had been specified, could fail to use the correct overflow key/data item size. [#6183] 5. Fix a bug where the recovery of an aborted transaction that did a reverse Btree split might leave a page in an inconsistent state. [#6393] Hash Access Method Changes: 1. Fix bugs that could cause hash recovery to drop core. [#4978] 2. Use access method flags instead of interface flags to check for readonly access to a hash database with an application-specified hash function. [#5121] 3. Fix a bug where a hash database allocation of a new set of buckets may be improperly recovered by catastrophic recovery if the transaction is split across log files and the beginning segment of the transaction is not included in the set of logs to be recovered. [#5942] 4. Fix a bug where aborting particular hash allocations could lead to a database on which the verifier would loop infinitely. [#5966] 5. Fix a bug where a memory allocation failure could result in a system hang. [#5988] 6. Remove nelem from the Hash access method statistics (the value was incorrect once items had been added or removed from the database). [#6101] 7. Fix a bug where a page allocated by an aborted transaction might not be placed on the free list by recovery, if the file holding the page was created as part of recovery, and a later page was part of a hash bucket allocation. [#6184] 8. Fix a bug where allocated pages could be improperly recovered on systems that require explicit zero-ing of filesystem pages. [#6534] Queue Access Method Changes: 1. No longer return a copy of the key if the DB_SET_RANGE flag is specified. [#4470] 2. Fix a bug where DBcursor->c_get (with DB_MULTIPLE or DB_MULTIPLE_KEY specified) could fail on a Queue database if the record numbers had wrapped. [#6397] Recno Access Method Changes: 1. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470] 2. Fix a bug where non-transactional locking applications could leak locks when modifying Recno databases. [#5766] 3. Fix a bug where DBcursor->c_get with the DB_GET_RECNO flag would panic the environment if the cursor was uninitialized. [#5935] 4. Fix a bug where deleting pages from a three-level Recno tree could cause the database environment to panic. [#6232] C++-specific API Changes: 1. C++ DbLock::put is replaced by DbEnv::lock_put to match the C and Java API change in Release 4.0. [#5170] 2. Declared destructors and methods within Db and DbEnv classes to be virtual, making subclassing safer. [#5264] 3. Fixed a bug where Dbt objects with no flags set would not be filled with data by some operations. [#5706] 4. Added DbDeadlockException, DbRunRecoveryException, and DbLockNotGrantedException classes to C++, and throw them accordingly. [#6134] 5. Added C++ methods to support remaining conversions between C++ classes and C structs where appropriate. In particular, DbTxn/DB_TXN conversions and DbMpoolFile/DB_MPOOLFILE were added. [#6278] 6. Fix a bug in DbEnv::~DbEnv() that could cause memory corruption if a DbEnv was deleted without being closed. [#6342] 7. Reordered C++ class declarations to avoid a GCC g++ warning about function inlining. [#6406] 8. Fix a bug in the DbEnv destructor that could cause memory corruption when an environment was destroyed without closing first. [#6342] 9. Change DbEnv and Db destructor behavior to close the handle if it was not already closed. [#6342] Java-specific API Changes: 1. Added check for system property "sleepycat.Berkeley DB.libfile" that can be used to specify a complete pathname for the JNI shared library. This is needed as a workaround on Mac OS X, where libtool cannot currently create a library with a .jnilib extension which is what the current JDK expects by default. [#5664] 2. Fixed handling of JVM out of memory conditions, when some JNI methods return NULL. When the JVM runs out of memory, calls should consistently fail with OutOfMemoryErrors. [#5995] 3. Added Dbt.get_object and Dbt.set_object convenience routines to the Java API to make using serialization easier. [#6113] 4. Fixed a bug that prevented Java's Db.set_feedback from working, fixed document for Java's Db.set_feedback, some callback methods were misnamed. [#6137] 5. Fix a NullPointerException in Db.finalize() if the database had been closed. [#6504] 6. Marked DbEnv constructor with "throws DbException". [#6342] Tcl-specific API Changes: None. RPC-specific Client/Server Changes: 1. Fix a bug where Db and DbEnv handles were not thread-safe. [#6102] Replication Changes: 1. A large number of replication bugs were fixed in this release. The replication support is now believed to be production quality. 2. Add the DB_ENV->set_rep_limit interface, allowing applications to limit the data sent in response to a single DB_ENV->rep_process_message call. [#5999] 3. Add the DB_ENV->set_rep_stat interface, returning information from the replication subsystem [#5919] XA Resource Manager Changes: 1. Added support for multi-threaded XA. Environments can now have multiple XA transactions active. db_env_xa_attach() can be used to get a DB_TXN that corresponds to the XA transaction in the current thread. [#5049] 2. Added a com.sleepycat.Berkeley DB.xa package that implements J2EE support for XA. This includes new DbXAResource, DbXid classes that implement the XAResource and Xid interfaces. [#5049] 3. Fix a bug where aborting a prepared transaction after recovery may fail. [#6383] 4. Fix a bug where recovery might fail if a prepared transaction had previously extended the size of a file and then was aborted. [#6387] 5. Fix a bug where if the commit of a prepared transaction fails the transaction would be aborted. [#6389] Locking Subsystem Changes: 1. Fix a bug where lock counts were incorrect if a lock request returned DB_LOCK_NOTGRANTED or an error occurred. [#4923] 2. Fix a bug where lock downgrades were counted as releases, so the lock release statistics could be wrong. [#5762] 3. Fix a bug where the lock and transaction timeout values could not be reset by threads of control joining Berkeley DB database environments. [#5996] 4. Fix a bug where applications using lock and/or transaction timeouts could hit a race condition that would lead to a segmentation fault. [#6061] Logging Subsystem Changes: 1. DB_ENV->log_register and DB_ENV->log_unregister have been removed from the interface. [#0046] 2. Fix a bug where creating a database environment with a non-existent logging directory could drop core. [#5833] 3. Add support allowing applications to change the log file size in existing database environments. [#4875] 4. Fix a bug where a write error on a log record spanning a buffer could cause transaction abort to fail and the database environment to panic. [#5830] Memory Pool Subsystem Changes: 1. The DB_INCOMPLETE error has been removed, as cache flushing can no longer return without completing. [#4655] 2. Fix a bug where Berkeley DB might refuse to open a file if the open was attempted while another thread was writing a large buffer. [#4885] 3. Prefer clean buffers to dirty buffers when selecting a buffer for eviction. [#4934] 4. Fix a bug where transaction checkpoint might miss flushing a buffer to disk. [#5033] 5. Fix a bug where Berkeley DB applications could run out of file descriptors. [#5535] 6. Fix bugs where Berkeley DB could self-deadlock on systems requiring mutex resource reclamation after application failure. [#5722] [#6523] Transaction Subsystem Changes: 1. Go back only one checkpoint, not two, when performing normal recovery. [#4284] 2. Fix a bug where an abort of a transaction could fail if there was no disk space for the log. [#5740] 3. Fix a bug where the checkpoint log-sequence-number could reference a non-existent log record. [#5789] 4. Fix a bug where subtransactions which allocated pages from the filesystem and subsequently aborted could cause other pages allocated by sibling transactions to not be freed if the parent transaction then aborted. [#5903] 5. Fix a bug where transactions doing multiple updates to a queue database which spanned a checkpoint could be improperly handled by recovery. [#5898] Utility Changes: 1. Fix a bug where the -p option could not be specified with the -R or -r options. [#5037] 2. The utilities were modified to correctly size their private caches in order to handle databases with large page sizes. [#5055] 3. Fix a bug in which utilities run with the -N option would fail to ignore the environment's panic flag. [#5082] 4. Fix a bug where invalid log records could cause db_printlog to drop core. [#5173] 5. Add a new option to the db_verify utility to support verification of files that include databases having non-standard sorting or hash functions. [#5237] Configuration, Documentation, Portability and Build Changes: 1. Replace test-and-set mutexes on Windows with a new mutex implementation that signals an event to wake blocked threads. [#4413] 2. Support configuration of POSIX pthread mutexes on systems where the pthread mutexes do not support inter-process locks. [#4942] 3. Add mutex support for the ARM architecture using the gcc compiler. [#5018] 4. On Windows NT/2000/XP, switched to atomic seek-and-read/write operations to improve performance of concurrent reads [#0654]. 5. Support cross-compilation using the GNU compiler tool chain. [#4558] 6. Fix a bug where libraries were always installed read-only. [#5096] 7. Fix a bug where temporary files on VxWorks could fail. [#5160] 8. Fix a bug where Berkeley DB did not install correctly if the system cp utility did not support the -f option. [#5111] 9. Correct the documentation for the Queue access method statistics field qs_cur_recno to be the "Next available record number". [#5190] 10. Fix a bug where file rename could fail on Windows/9X. [#5223] 11. Removed support for Microsoft Visual Studio 5.0 [#5231] 12. Switched to using HANDLEs for all I/O operations on Windows to overcome a hard limit of 2048 open file descriptors in Microsoft's C runtime library. [#5249] 13. Fix a bug where Berkeley DB error message routines could drop core on the PowerPC and UltraSPARC architectures. [#5331] 14. Rename OSTREAMCLASS to __DB_OSTREAMCLASS in db_cxx.h to avoid stepping on application name space. [#5402] 15. Support Linux on the S/390 architecture. [#5608] 16. Work around a bug in Solaris where the pthread_cond_wait call could return because a signal was delivered to the application. [#5640] 17. Fix build line for loadable libraries to include -module to support Mac OS X. [#5664] 18. Fix a bug in the PPC mutex support for the Mac OS X system. [#5781] 19. Added support for Java on Mac OS X. A workaround on the Java command line is currently necessary; it is documented. [#5664] 20. Added support for Tcl on Mac OS X. [#5664] 21. Update Windows build instructions to cover Visual C++ .NET. [#5684] 22. AIX configuration changes for building on AIX 4.3.3 and 5 with both standard and Visual Age compilers. [#5779] 23. Add a new UNIX configuration argument, --with-mutex=MUTEX, to allow applications to select a mutex implementation. [#6040] 24. Changed libtool and configure so we can now correctly build and install Tcl and Java loadable shared libraries that work on Mac OS X. [#6117] 25. Fix mutex alignment problems on historic HP-UX releases that could make multi-process applications fail. [#6250] 26. Installed static .a archives on Mac OS X need to be built with the ranlib -c option so linked applications will not see undefined __db_jump errors. [#6215] 27. Upgrade pthread and mmap support in the uClibc library to support Berkeley DB. [#6268] 28. Fixed error in determining include directories during configuration for --enable-java. The error can cause compilation errors on certain systems with newer versions of gcc. [#6445]
2002-03-30Initial import of Sleepycat db4 provided by Alex Newman <dolemite@wuli.nu>uebayasi1-0/+6
in pkg/16075. From DESCR: Berkeley DB is an embeddable database system that supports keyed access to data. The software is distributed in source code form, and developers can compile and link the source code into a single library for inclusion directly in their applications.