Loading TOC...

MarkLogic 12 EA 1 Product Documentation
xdmp:set-transaction-mode

xdmp:set-transaction-mode(
   $value as xs:string
) as empty-sequence()

Summary

Set the transaction mode for the current session. Calling this function has no effect on existing transactions.

Parameters
value The new transaction mode. Must be one of "auto", "query", "update", "query-single-statement", "update-auto-commit", and "multi-auto".

Usage Notes

Transaction mode determines what type of transaction MarkLogic creates during a session. The transaction type is fixed when the transaction is created, so calling xdmp:set-transaction-mode never affects the current transaction.

The transaction mode defaults to "auto". To change the mode, you may either call xdmp:set-transaction-mode or use the xdmp:update or xdmp:commit XQuery prolog option.

Use the xdmp:update or xdmp:commit option to set the transaction mode before a transaction exists. Use xdmp:set-transaction-mode to set the mode during execution.

For more details, see Understanding Transactions in MarkLogic Server in the Application Developer's Guide.

See Also

Example

declare option xdmp:transaction-mode "update";

  (: this transaction runs in update mode, due to the option :)
xdmp:set-transaction-mode("query"),
xdmp:document-insert("/docs/mydoc.xml", <myData/>),
xdmp:commit();

  (: but this new transaction runs in query mode :)
xdmp:get-transaction-mode(),
fn:doc("/docs/mydoc.xml")

=> "query"
   <myData/>

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.