Berkeley DB XML 2.2.8 Change Log

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 modearguments. [#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. Changedefault 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 byXmlContainerConfig that extends DatabaseConfig. [#13375]
  5. Add support for Berkeley DB 4.4.