XmlContainer::getDocument
|
|
#include <DbXml.hpp>
XmlDocument XmlContainer::getDocument(DbTxn *txn, u_int32_t id, u_int32_t flags=0);
Description: XmlContainer::getDocument
The XmlContainer::getDocument method returns the XmlDocument
corresponding to the specified document ID.
Parameters
- txn
-
If the operation is to be transaction-protected, the
txn parameter is a transaction handle returned from
DbEnv::txn_begin, otherwise, NULL.
- id
-
The ID of the XmlDocument to be retrieved from the
container.
- flags
-
The flags parameter must be set to zero or one of the
following values:
- DB_DIRTY_READ
- Read modified but not yet committed data. Silently ignored if the
DB_DIRTY_READ flag was not specified when the underlying
XmlContainer was opened.
- DB_RMW
- Acquire write locks instead of read locks when doing the retrieval.
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.
Because the XmlContainer::getDocument method will not hold locks across
Berkeley DB interface calls in non-transactional environments, the
DB_RMW flag to the XmlContainer::getDocument call is
meaningful only in the presence of transactions.
Returns the XmlDocument corresponding to the specified document ID.
Errors
The XmlContainer::getDocument method
may fail and throw
XmlException,
encapsulating one of the following non-zero errors:
- CONTAINER_CLOSED
- The container is closed.
- DATABASE_ERROR
- An error occurred in an underlying Berkeley DB database. The
XmlException::getDbError method will return the error code for the
error.
- DOCUMENT_NOT_FOUND
- The specified document is not in the XmlContainer.
Class
XmlContainer,
XmlDocument,
XmlException,
XmlIndexSpecification,
XmlQueryContext,
XmlQueryExpression,
XmlResults,
XmlUpdateContext,
XmlValue
Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.