Berkeley DB XML 6.0 Change Log

Release 6.0 is primarily a bug fix and infrastructure enhancement release. Including:

  1. Reliability:

    • Fixed many bugs, and enhanced product stability.

  2. Indexing:

    • The indexing module was reconstructed with a clear and high performance architecture.

  3. Dynamic resource management:

    • The release bundles Berkeley DB 6.0, which provides dynamic resource management. This is a big win for BDB XML users who tend to not want to manage DB resources.

Berkeley DB XML 6.0 Change Log

Upgrade Requirements

Upgrade is required for containers created using release 2.2.13 or earlier. Containers created using 2.3.X do not require upgrade. However, if the Container has substring indexes, then reindexing is required in order to re-construct substring indexes. This requirement is driven by substring index changes in this version of the product.

Because 6.0 bundles Berkeley DB 6.0, environment directories and log files will not be compatible with previous releases of Berkeley DB XML. This means checkpoint, backup and recovery procedures are necessary to start with a clean environment, especially for transactional environments.

If an upgrade is performed it is recommended that the resulting container be run through dbxml_dump/dbxml_load to reduce its file size.

New Features

  1. The indexing module was reconstructed with a clear and high performance architecture.[#17397]

  2. The release bundles Berkeley DB 6.1, which implements dynamic resource management. This is a big win for BDB XML users who tend to not want to know about DB resource manager.[#20161]

  3. Add BDB XML support for DBXML_IGNORE_LEASE. This feature is not supported in Java API yet. [#19025]

  4. Improved Unicode module and implement full Unicode-standard code-point support.[#17394]

API Changes

  1. XmlIndexSpecification:

    • Changed the behavior of bool XmlIndexSpecification::next(std::string &uri, std::string &name, std::string &index) so that only one index string will be returned at each iteration.[#17397]

  2. XmlManager:

    • createTransaction() — Add DBXML_IGNORE_LEASE to support the Berkeley DB HA MasterLease feature.

  3. XmlTransaction:

    • createChild() — Add DBXML_IGNORE_LEASE to support the Berkeley DB HA MasterLease feature.

Changes That May Require Application Modification

  1. BDB XML adds supports for Visual Studio 2010 (BDBXML_all_vs2010.sln). [#18693]

  2. BDB XML no longer supports Visual Studio 6 and Visual Studio 2003, and changes the solution name of Visual Studio 2005/2008 from BDBXML_all_vs8.sln to BDBXML_all.sln. [#19003]

  3. BDB XML no longer supports the IA64 platform. [#21089]

  4. BDB XML bumps the bundled Berkeley DB version from 4.8 to 6.1. Berkeley DB 6.1 includes a large number of behavioral changes. Please refer to the Berkeley DB changelog to identify the new HA features offered by Berkeley DB 6.1.

General Functionality Changes

  1. This release bundles Berkeley DB 6.1. [#22506]

  2. Fixed a bug that would cause unique constraints to be ignored when updating part of an XML document. [#21239]

  3. Nested transactions will no longer be created when updating documents. [#18220]

  4. Fixed a possible mutex lock leak when closing a container.[#18959]

  5. Handle error conditions that may occur when replication is enabled [#18960]

  6. Fixed a possible case of deadlock when opening a container while another process was inserting documents into that container.[#19009]

  7. Fixed a bug where an external function that constructed documents would return empty results [#18772]

  8. Added a new linear sort algorithm for BulkPut class. [#17417]

  9. Fixed an issue that may cause a crash in a limited memory system.[#18108]

  10. Added a "-lm" flag when link on Solaris with SunCC 5.9 [#18171]

  11. Fixed the issue that prevented upgrading 2.3 containers.[#18741]

  12. Fixed some issues with external functions where they were not getting the proper cache database for intermediate results.[#18772]

  13. Fixed a bug in DbXmlNamespaceAxis::nextNode() that caused the namespace uri to be returned more than once for the prefix "xml".[#18996]

  14. Fixed a bug where mixing auto-indexing and default indexes could result in incorrect query results.[#19048]

  15. Delete operations now update stats.[#19102]

  16. Fixed a segfault when calling doc-available() in XQuery function.[#19284]

  17. Fixed a segfault when an XML document is blank.[#19398]

  18. Fixed a bug which returns unexpected duplicated results when querying parents or ancestors of an element or attribute node.[#19717]

  19. Fixed a query optimization bug that could happen when comparing attribute children of an element.[#20057]

  20. Fixed rounding issue when converting double to int.[#20066]

  21. Fixed an incorrect flowr expression with DbXml::XmlContainer::WholedocContainer.[#19563]

  22. Fixed a bug involving the copying of dummy MetaData items. [#20126]

  23. Fixed a bug where it was not possible to reference metadata with an XmlQueryExpression executed against an XmlDocument object. [#20987]

  24. Optimize the query optimizer for mixing attribute and elements in a where clause. [#20830]

  25. Fixed a crash that can occur when using DB_READ_COMMITTED or DB_READ_UNCOMMITTED. [#21601]

  26. Fixed a bug were inserting a node could erase attribute index entries of the parent node. [#21772]

Utility Changes

None.

Java-specific Functionality Changes

The Java API supports Java 7 and 8. [#22517]

Python-specific Functionality Changes

  1. The latest Python code from the pybsddb project is bundled.

Perl-specific Functionality Changes

Upgraded Perl version to 5.16.1 for the Windows binary release. [#20495]

PHP-specific Functionality Changes

Removed PHP from the Windows binary release. [#21548]

Example Code Changes

None.

Configuration, Documentation, Portability and Build Changes

  1. Removed support for Visual Studio 2003. [#19003]

  2. Removed support for IA64. [#21089]

  3. BDB XML bumps the bundled Berkeley DB version from 4.8 to 6.1. Berkeley DB 6.1 includes a large number of behavioral changes. Please refer to the Berkeley DB changelog to identify the new HA features offered by Berkeley DB 6.1.