Berkeley DB XML 2.2.8 Change Log

Upgrade Requirements
New Features
API Changes
General Functionality Changes
Utility Changes
Java-specific Functionality Changes
Perl-specific Functionality Changes
Python-specific Functionality Changes
Tcl-specific Functionality Changes
Configuration, Documentation, Portability and Build Changes

Upgrade Requirements

  1. Change database format to provide better Berkeley DB Btreepage fill factor. Users must read documentation on container upgrade before performing an upgrade, or there is risk of data loss. [#12947]

New Features

  1. AddXmlManager::existsContainer(), used to check for existence of a container in an efficient, non-destructive, non-intrusive manner. [#11018]

  2. Implementsupport for fn:doc-available() Xquery function and default collections.[#12762]

  3. Add XmlIndexLookup class to perform lookup operations,including equality, range lookups, and controlling the sort order of results(forward and reverse). [#12556]

  4. Version2.7 of the Xerces library is now used. [#13177]

  5. XQueryimplementation has been upgraded to support the April, 2005 draft specification.

API Changes

  1. Add XmlIndexLookup class to perform lookup operations,including equality, range lookups, and controlling the sort order of results(forward and reverse). [#12556]

  2. Fix a bug where XmlResults::hasNext() and XmlResults::peek() could result in uncatchable exceptions with Lazy results. [#13053]

  3. Added XmlQueryContext get/setVariableValue variant that takesXmlResults to allow sequence variables. [#13060]

  4. Add XmlManager::reindexContainer() to allow an application tochange the index type between node-level and document-level. [#12819]

  5. Add XmlManager::get/setDefaultSequenceIncrement() interfacesto allow control over the cache size of the DbSequence object used to allocatedocument ids. [#13099]

  6. Add XmlValue::BINARY as a valid XmlValue type. Add XmlValue::isBinary() interfaces tosupport the new type. [#13221]

  7. Add support for the DB_TXN_NOT_DURABLE flag when creating andopening an XmlContainer. [#13263]

  8. AddXmlManager::openContainer() method that takes XmlContainerType and mode arguments. [#13285]

  9. AddXmlContainer::getIndexNodes() to indicate if the container has node-level indices or not.

General Functionality Changes

  1. Modify internal data structures so that fewer lockers are required when running without transactions. This eliminates many problems that appear to be locker leaks.[#12104]

  2. Implement April 2005 drafts of XQuery 1.0 and XPath 2.0.

  3. Implement numerous query optimizations that should increasethe query speed on all storage formats. This includes support for node-level indices specified using DBXML_INDEX_NODES [#12615]

  4. Fix a bug so that unique indices will find constraint violations within a single document and between documents in a container.[#12838]

  5. Fix a bug where index database creation could conflict with other updates. [#12839]

  6. Fix a bug in QueryPlanHolder that could cause a segment fault. [#13069]

  7. Fix a bug during container open where the containers page size is different from the XmlManager's default page size. [#13260]

Utility Changes

  1. Fix a bug in dbxml shell so that if the -h flag is not specified an attempt is made to join an environment in the current directory.[#12993]

  2. Add support for new XmlIndexLookup object in the dbxmlshell's commands. [#12556]

Java-specific Functionality Changes

  1. Change path to example package from com.sleepycat.dbxml.examples.gettingStarted to dbxml.gettingStarted. [#12108]

  2. Fix a bug so that valid DatabaseException objects are now created for all XmlExceptions of type DATABASE_ERROR. [#12962]

  3. Fix a bug so that XmlDocument.getMetaData() will correctly return binary metadata. [#13193]

  4. Fix a bug in XmlInputStream so that other classes can now be derived from this class. [#13289]

Perl-specific Functionality Changes

  1. Compiler information from configure is now used to set the compiler in the Perl build. [#12491]

Python-specific Functionality Changes

  1. Add pre-compiled Python binaries (2.4) to the Windows binary installer.

  2. Ship copy of thepybsddb project for convenience and ease of build.

Tcl-specific Functionality Changes

None.

Configuration, Documentation, Portability and Build Changes

  1. Add a version check to insure that languages such as Perl, Python, and PHP use a compatible version of Berkeley DB. [#12681]

  2. Change default in buildall.sh script to build thread support for Xerces platform code.[#12784]

  3. Add documentation for the -c flag in dbxml shell. [#12848]

  4. Add documentation for all DatabaseConfig methods that are used by XmlContainerConfig that extends DatabaseConfig. [#13375]

  5. Add support for Berkeley DB 4.4.