#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.
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.