xdmp.setTransactionMode( value as String ) as null
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". |
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.setTransactionMode
never affects the current transaction.
The transaction mode defaults to "auto". To change the mode, you
may call xdmp.setTransactionMode
Use
xdmp.setTransactionMode
to set the mode during execution.
For more details, see Understanding Transactions in MarkLogic Server in the Application Developer's Guide.
// 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"}]