op:lock-for-update( [$lockUriCol as item()?] ) as map:map
Gets an early lock on documents that will be updated later in the pipeline with an operation like remove() or write(). Documents are always locked, but for complex pipelines, it can be beneficial to lock the document early, so to minimize the potential for lock contention.
Parameters | |
---|---|
$lockUriCol | If this column is not specified then it assumes a column 'uri' is present. The column, which contains URIs, can be named with a string or a column function such as op:col, op:view-col, or op:schema-col, or constructed from an expression with the op:as function. |
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; declare option xdmp:update "true"; op:from-doc-descriptors(map:entry("uri", "/optic/update/write1.xml")=>map:with("doc", <doc>write1</doc>)) =>op:lock-for-update() =>op:write() =>op:result();
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; declare option xdmp:update "true"; op:from-doc-descriptors(map:entry("uri", "/optic/update/write1.xml")=>map:with("doc", <doc>write1</doc>)) =>op:lock-for-update("uri") =>op:write() =>op:result();
xquery version "1.0-ml"; import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy"; declare option xdmp:update "true"; op:from-doc-descriptors(map:entry("uri", "/optic/update/write.xml")=>map:with("doc", <doc>write1</doc>), "myQualifier") =>op:lock-for-update(op:view-col("myQualifier","uri")) =>op:write(op:doc-cols("myQualifier", ("uri", "doc"))) =>op:result();
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.