Commit graph

9 commits

Author SHA1 Message Date
adam
12f55af007 Changes 5.3.21:
* Fixed incompatibility problems of Java DPL with JDK7, so DPL will now work
  with JDK7.
* Added a flag to allow database locking to be disabled from the SQL API.
* Fixed a bug that could allocate a heap data page in a region after the region
  creation has been undone.
* Redundant whitespaces are now ignored in DB_CONFIG lines pertaining to
  directories, e.g. set_data_dir.
* 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.
* Fixed a rare race condition that could cause a crash if two processes opened
  the same database at the same time.
* Fixed missing cross compiling capability for the JDBC driver.
* Allow the same system/machine to host both a master and a replica database
  through the use of relative pathnames.
* Fixed a bug in the Java API where EnvironmentConfig.setCreateDir would fail
  to configure the environment.
* Fixed an assert failure in btreeCompare when allocating memory in the wrong
  thread was causing a memory leak.
* Fixed a bug in the Java API where concurrent operations that change the
  database schema could lead to a hang.
* Added JDBC code to the code base and updated the windows build files to
  include the JDBC solution.
* Fixed a bug where the heap's region size was not getting swapped correctly in
  mixed-endian environments.
* Fixed a bug in the db_sql_jdbc project file for vs2010 that was preventing it
  from building correctly.
2012-05-31 09:37:20 +00:00
adam
dc1d695ff3 Changes 5.3.15:
* Added support for verifying named in-memory dbs.
* Added an integer key comparison function to improve performance through the
  SQL API.
* Support build on the platforms where pthread_t is a struct.
* Added an API call so the user can specify the size of the region in a heap db.
* 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.
* Enhanced the interface for copying databases for a hot backup. Added configure
  support for --enable-atomicfileread.
* Enhaced the log reading routine to detect that a log file is missing rather
  than returning that a zero length record was found.
* 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.
* Added set_metadata_dir() and get_metadata_dir() to enable storage of
  persistent metadata files in a location other than the environment home
  directory.
* Improved the error handling through the SQL API. Errors can be sent to a file
  with the use of the BDBSQL_ERROR_FILE pragma.
* Database handles can now be configured to give exclusive access to the
  database.
* XA transactions will now use transaction snapshots if the XA databases they
  operate on were configured with DB_MULTIVERSION.
* Added additional stats fields into the C# API
* 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.
* Improved the ability of DB->compact to move DB_HASH database pages to the
  begining of the file.
2012-01-18 13:46:50 +00:00
asau
17e0bf2946 This package's licence is NOT a "modified BSD" in a common sense.
Reset LICENSE, bump package revision.
2012-01-12 22:41:21 +00:00
adam
7fa0dc4ac2 Changes 5.2.36:
* Updated the JDBC version shipped with Berkeley DB to support Oracle Java
  Embedded Client.
* Fixed several memory leaks in the Online Backup API.
* Fix a bug in the SQL API when using a blob field with a lot of content and
  multiple concurrent connections to the database.
* Update EID_MASTER to be public static final so that it will be exposed in
  Java docs.
* Fixed a bug where BFile module crashes when using BFile handle for SQL
  expressions interface on 64 bit platforms.
* Fixed a bug where, on systems without FTRUNCATE, db_verify will return an
  error for truncated heap databases.
* Let ADO.NET solution building skip SQLite Designer and Linq by default.
* Fixed a bug that could cause BDB to run out of avaliable mutexes when
  renaming many databases.
* Fixed a bug where the metadata page in hash databases would not be flushed to
  disk.
* Fixed a bug where printlog would fail on in-memory heap databases.
* 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.
* Fixed a bug where two processes accessing the same table and one of those
  drops the table and recreates, the second process can crash.
* Fixed a bug where it was possible to panic a heap database without an error
  message being printed.
* Fixed a bug where it would fail to put records with overflow keys into hash
  duplicate database.
* Fixed a bug where multiple Replication Manager processes would sometimes not
  all conform to replication-group-aware log archiving.
* more...
2011-10-03 10:54:45 +00:00
adam
1b0456c689 Changes 5.2.28:
* 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).
* 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.
* Implemented Berkeley DB globalization support architecture to enable
  localized and stripped error and output messages.
* 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.
* Added a compatible mode for 32bit and 64bit Windows environment.
* 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.
* Add several new pragmas to provide in-process support for replication in the
  SQL API.
* The Berkeley DB X/open compliant XA resource manager has been restored,
  including support for multi-threaded servers.
* 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.
* Add support for sequence usage in the SQL API using SQLite custom functions.
* Add a pragma in the SQL API to allow execution of a cache trickle command.
* Add a pragma in the SQL API to allow configuration of DB_SYSTEM_MEM
  environments.
* 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.
2011-06-15 20:56:04 +00:00
adam
3b88efdcea Changes 5.1.25:
* Fixed a leak of log file ids when a database is closed before the end of
  a transaction that references it.
* Fixed a bug in page allocation where if a non-transactional update was being
  done, then we release the metadata page lock too early possibly leading to
  the corruption of the in-memory page list used by DB->compact.
* A log write failure on a replication master will now cause a panic since the
  transaction may be committed on some clients.
* Removed the possibility that checkpoints will overlap in the log, decreasing
  the time to recover.
* 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.
* 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.
* 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.
* Fixed a bug where an updater supporting DB_READ_UNCOMMITED might downgrade
  its lock too soon if there was an error during the update.
* 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.
* Fixed a bug that could cause the close of a secondary index database to fail
  if the transaction doing the open aborted.
* Changed SQL API library build on *nix to link with libpthreads when necessary.
* Fixed a JDBC error where building would fail on Solaris without the flag
  "-D_HAVE_SQLITE_CONFIG_H".
* Fixed some bugs in log_verify when there are in-memory database logs and
  subdb logs.
* Fixed a bug that would return DB_NOTFOUND while searching for an existing
  item using a cursor on a non-sorted duplicate btree database.
* Fixed a JDBC bug that the configure can not deal with CPPFLAGS.
* Fixed a bug in the SQL API that would cause a constraint violation when
  updating the primary key with the same value.
* Fixed a bug in the SQL BDBSQL_FILE_PER_TABLE option, to allow absolute path
  names.
2011-02-15 10:53:55 +00:00
adam
02b14f7596 Changes 5.1.19:
* Added Performance event monitoring support for DTrace and SystemTap which can
  be enabled during configuration. Static probes have been defined where
  statistics values are updated, where mutex or transactional consistency lock
  waits occur, and where some other potentially lengthy operations may be
  initiated.
* Added a new acknowledge policy - DB_REPMGR_ACKS_ALL_AVAILABLE.
* Added transactional bulk loading optimization for non-nested transactions.
* Added exclusive transaction support for the SQL API.
* Added support for bulk update and delete in C# API.
* Added a db_replicate utility.
* Added an implementation of the Online Backup API.
* Added support in Berkeley DB SQL for the vacuum and incremental vacuum
  pragmas.
* Added an option to automatically convert SQLite databases to Berkeley DB on
  opening.
* Added BDBSQL_SHARE_PRIVATE, an option to enable inter-process sharing of
  DB_PRIVATE environments using multiple-reader.
* Added database-level locking to optimize single-threaded operations and
  remove locking limitations for database load operations.
* Added support for DB_INIT_REP, DB_PRIVATE, DB_REGISTER and DB_THREAD in
  DB_CONFIG file.
* Added support for the BDBSQL_DEFAULT_PAGE_SIZE pragma to override Berkeley
  DB's choice of page size depending on the filesystem. Use
  SQLITE_DEFAULT_PAGE_SIZE rather than a hard-coded default.
* Added an extension that allows access to binary files stored outside of the
  database. What is stored in the database is a pointer to the binary file.
* Added .stat command to dbsql shell to print environment, table, and index
  statistics.
* Added enhancements to reduce the size of indexes in the SQL API by allowing
  duplicates in the index database and moving the rowid from the index key into
  the index data.
* Added a compile time flag BDBSQL_FILE_PER_TABLE that causes each table to be
  created in a separate file. This flag replaces the BDBSQL_SPLIT_META_TABLE
  flag.
* Added the handling of read only and read write open of the same database in
  BDB SQL.
* Added an encryption implementation to the SQL API.pkg
2010-09-16 07:53:32 +00:00
adam
7d9ff49000 Changes 5.0.26:
* 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.
* Added hash databases support to the DB->compact interface.
* Renamed the "db_sql" utility to "db_sql_codegen".
* Added transactional support in db_sql_codegen utility.
* 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.
* Added support for applications to assign master/client role explicitly at any
  time. Replication Manager can now be configured not to initiate elections.
* Enhanced the DB->compact method so that it can reassign metadata and root
  pages from subdatabases to lower numbered pages while compacting a database
  file that contains multiple databases.
* Added system diagnostic messages that are ON by default.
* Added the feature to assign a priority level to transactions.
* Added a feature by which the Replication Manager application clients now
  automatically request any missing information, even when there is no master
  transaction activity.
* Added support for sharing logs across mixed-endian systems.
* Added an option to specify the first and last pages to the db_dump utility.
  You can do this by providing -F and -L flags to the db_dump -d option.
* Added Intel Performance Primitive (IPP) AES encryption support.
2010-07-14 18:50:14 +00:00
adam
a3c3130afc 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.

Developers may choose to store data in any of several different storage
structures to satisfy the requirements of a particular application. In
database terminology, these storage structures and the code that operates on
them are called access methods. The library includes support for the
following access methods:

   * B+tree: Stores keys in sorted order, using either a programmer-supplied
     ordering function or a default function that does lexicographical
     ordering of keys. Applications may perform equality or range searches.
   * Hashing: Stores records in a hash table for fast searches based on
     strict equality. Extended Linear Hashing modifies the hash function
     used by the table as new records are inserted, in order to keep buckets
     underfull in the steady state.
   * Fixed and Variable-Length Records: Stores fixed- or variable-length
     records in sequential order. Record numbers may be immutable or
     mutable, i.e., permitting new records to be inserted between existing
     records or requiring that new records be added only at the end of the
     database.
2010-06-02 12:08:48 +00:00