Loading TOC...

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", or "update-auto-commit".

Usage Notes

The mode a transaction runs under is fixed when the transaction is created. Calling xdmp:set-transaction-mode during a query does not affect 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 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.

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"}]

Comments

    Powered by MarkLogic Server 7.0-4.1 and rundmc | Terms of Use | Privacy Policy