MarkLogic 9 Product Documentation
xdmp.setTransactionMode

xdmp.setTransactionMode(
   value as String
) as null

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:transaction-mode XQuery prolog option.

Use the xdmp:transaction-mode 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

//  this transaction runs in update mode, due to the declaration
xdmp.eval('declareUpdate({explicitCommit: true}); \n\
xdmp.setTransactionMode("query"); \n\
xdmp.documentInsert("/docs/mydoc.json", {"myData": "data"}); \n\
xdmp.commit();');

// but this new transaction runs in query mode 
xdmp.eval('var res = []; \n\
res.push(xdmp.getTransactionMode()); \n\
res.push(cts.doc("/docs/mydoc.json")); \n\
res;');

=> ["query",{"myData":"data"}]
Powered by MarkLogic Server | Terms of Use | Privacy Policy