#include <DbXml.hpp> void XmlContainer::addDefaultIndex( const std::string &index, XmlUpdateContext &context) XmlContainer::addDefaultIndex( XmlTransaction &txn, const std::string &index, XmlUpdateContext &context)
Adds a default index to the container This method is for convenience — see XmlIndexSpecification::addDefaultIndex for more information.
If the operation is to be transaction-protected, the
txn
parameter is an
XmlTransaction
handle
returned from XmlManager::createTransaction.
A comma-separated list of strings that represent the indexing strategy. The strings must contain the following information in the following order:
unique
-{path type}-{node type}-{key type}-{syntax}
where:
unique indicates that the indexed value is unique in the container. If this keyword does not appear on the index string, then the indexed value is not required to be unique in the container.
{path type} is either node
or edge
.
{node type} is one of element
,
attribute
, or
metadata
. If
metadata
is specified, then
{path type} must be node
.
{key type} is one of presence
, equality
, or
substring
.
{syntax} identifies the type of information being indexed. It must be one of the following values:
none | double | gYear |
base64Binary | duration | gYearMonth |
boolean | float | hexBinary |
date | gDay | string |
dateTime | gMonth | time |
decimal | gMonthDay |
Note that if {key type} is presence
, then {syntax} must be
none
or simply not specified.
Some example index strings are:
unique-node-element-presence node-element-equality-string edge-element-presence-none node-element-equality-float
The XmlContainer::addDefaultIndex
method may
fail and throw
XmlException
, encapsulating one of the following
non-zero errors:
An error occurred in an underlying Berkeley DB database. The XmlException::getDbErrno method will return the error code for the error.