XmlManager::setDefaultContainerFlags

#include <DbXml.hpp>

void XmlManager::setDefaultContainerFlags(const XmlContainerConfig &flags)

XmlContainerConfig XmlManager::getDefaultContainerFlags() const

Sets the default flags used for containers opened and created by this XmlManager object. If a form of XmlManager::createContainer or XmlManager::openContainer is used that takes a flags argument, the settings provided using this method are ignored.

Parameters

flags

This parameter must be set to 0 or by bitwise inclusively OR'ing together one or more of the following values:

  • DB_CREATE

    If the container does not currently exist, create it.

  • DB_READ_UNCOMMITTED

    This operation will support degree 1 isolation; that is, read operations may return data that has been modified by other transactions but which has not yet been committed. Silently ignored if the DB_READ_UNCOMMITTED flag was not specified when the underlying container was opened.

  • DB_EXCL

    Return an error if the container already exists. This flag is only meaningful when specified with the DB_CREATE flag.

  • DB_MULTIVERSION

    Open the database with support for multiversion concurrency control. This will cause updates to the container to follow a copy-on-write protocol, which is required to support snapshot isolation. This flag requires that the container be transactionally protected during its open.

  • DB_NOMMAP

    Do not map this container into process memory (see the DbEnv::set_mp_mmapsize() method for further information).

  • DB_RDONLY

    Open the container for reading only. Any attempt to modify items in the container will fail, regardless of the actual permissions of any underlying files.

  • DB_THREAD

    Cause the container handle to be free-threaded; that is, concurrently usable by multiple threads in the address space.

  • DBXML_CHKSUM

    Do checksum verification of pages read into the cache from the backing filestore. Berkeley DB XML uses the SHA1 Secure Hash Algorithm if encryption is configured and a general hash algorithm if it is not.

  • DBXML_ENCRYPT

    Encrypt the database using the cryptographic password specified to DbEnv::set_encrypt().

  • DB_TXN_NOT_DURABLE

    If set, Berkeley DB XML will not write log records for this database. This means that updates of this database exhibit the ACI (atomicity, consistency, and isolation) properties, but not D (durability); that is, database integrity will be maintained, but if the application or system fails, integrity will not persist. The database file must be verified and/or restored from backup after a failure.

  • DBXML_INDEX_NODES

    Causes the indexer to create index targets that reference nodes rather than documents. This allows index lookups during query processing to more efficiently find target nodes and avoid walking the document tree. It can apply to both container types, and is the default for containers of type XmlContainer::NodeContainer.

  • DBXML_NO_INDEX_NODES

    Causes the indexer to create index targets that reference documents rather than nodes. This can be more desirable for simple queries that only need to return documents and do relatively little navigation during querying. It can apply to both container types, and is the default for containers of type XmlContainer::WholedocContainer.

  • DBXML_STATISTICS

    Causes the container to be created to include structural statistics information, which is very useful for cost based query optimisation. Containers created with these statistics will take longer to load and update, since the statistics must also be updated. This is the default.

  • DBXML_NO_STATISTICS

    Causes the container to be created without structural statistics information – by default structural statistics are created.

  • DBXML_TRANSACTIONAL

    Cause the container to support transactions. If this flag is set, an XmlTransaction object may be used with any method that supports transactional protection. Also, if this flag is used, and if an XmlTransaction object is not provided to a method that modifies an XmlContainer or XmlDocument object, then auto commit is automatically used for the operation.

  • DBXML_ALLOW_VALIDATION

    When loading documents into the container, validate the XML if it refers to a DTD or XML Schema.

Class

XmlManager

See Also

XmlManager Methods