XmlIndexLookup::execute

#include <DbXml.hpp>

XmlResults results = XmlIndexLookup::execute(
	             XmlQueryContext &context,
		     u_int32_t flags = 0) const

XmlResults results = XmlIndexLookup::execute(
	   	   XmlTransaction &txn,
		   XmlQueryContext &context,
		   u_int32_t flags = 0) const

Executes the index lookup operation specified by the configuration of the XmlIndexLookup object.

Parameters

txn

If the operation is to be transaction-protected, the txn parameter is an XmlTransaction handle returned from XmlManager::createTransaction.

context

The XmlQueryContext to use for this query.

flags

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

  • DBXML_LAZY_DOCS

    Retrieve the document lazily. That is, retrieve document content and document metadata only on an as needed basis when reading the document.

  • DBXML_WELL_FORMED_ONLY

    Force the use of a scanner that will neither validate nor read schema or dtds associated with the document during parsing. This is efficient, but can cause parsing errors if the document references information that might have come from a schema or dtd, such as entity references.

  • 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_READ_COMMITTED

    This operation will have degree 2 isolation. This provides for cursor stability but not repeatable reads. Data items which have been previously read by this transaction may be deleted or modified by other transactions before this transaction completes.

  • DB_RMW

    Acquire write locks instead of read locks when doing the read, if locking is configured. Setting this flag can eliminate deadlock during a read-modify-write cycle by acquiring the write lock during the read part of the cycle so that another thread of control acquiring a read lock for the same item, in its own read-modify-write cycle, will not result in deadlock.

  • DBXML_REVERSE_ORDER

    Return results in reverse order relative to the sort of the index.

  • DBXML_NO_INDEX_NODES

    Relevant for node storage containers with node indices only. Causes the XmlIndexLookup::execute() operations to return document nodes rather than direct pointers to the interior nodes. This is more efficient if all that is desired is a reference to target documents.

  • DBXML_CACHE_DOCUMENTS

    Enables use of a cache mechanism that optimizes XmlIndexLookup::execute() operations that a large number of nodes from the same document.

Class

XmlIndexLookup

See Also

XmlIndexLookup Methods