Locking is done by URI. Your code looks like it's thinking of the jobs.xml file as if it were a large table. Don't do that. Instead think of each document as a row. Then you won't need fragment roots either.
-- Mike On 7 Jul 2014, at 13:05 , Sudheer Yalaverthi <[email protected]> wrote: > Hi, > > > I have a document with below structure. and it is saved under URI > '/{runlevel}/{userid}/jobs.xml' > > <joblist> > <job> > <id>1</id> > . > . > </job> > <job> > <id>2</id> > . > . > </job> > . > . > </joblist> > > > Each job element is a fragment as I have fragment root defined for the Job > element. > I am retrieving specific job element using cts:search and then trying to > update the element. > > let $job := cts:search(/joblist/job, > cts:and-query(cts:document-query('/runlevel/userid/jobs.xml'), > cts:element-range-query(xs:QName('id'), '=', '1')))) > > return if($job) > then xdmp:node-replace($node, element job {....}) > else () > > My question is does the above query locks the entire document under URI > '/{runlevel}/{userid}/jobs.xml' or does it specifically lock the fragment > that is picked in the search query? > > > > Thanks, > Sudheer Yalaverthi > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
