Just in case, you can confirm that the node you are about to delete is indeed from a stored document with something like the following :
xdmp:log(fn:document-uri(fn:root($node))) -- Florent Georges H2O Consulting http://h2o.consulting/ On 31 Jan 2018 18:47, "Lanz" <lancelot.meuril...@gmail.com> wrote: > Hi Mister Florent, > > Thks for your answer. > There is no symptom at all: no exception, no specific log, no deletion. > When I run the 'real' script on QConsole (or Oxygen connected through xdbc > to ML), it returns the focus after a while (whitout SVC-EXTIME) without any > deletion. > I'm trying with a colleague to simplify the script and recreate a readable > case for everyone. > For now it seems that the sem:sparql combined with sem:store has some > influences on this behavior > > So I will come back soon with a simplified script. > Lanz > > > On Wed, Jan 31, 2018 at 6:26 PM, Florent Georges <li...@fgeorges.org> > wrote: > > > > Salut Lancelot, > > > > I might have missed it, but what is the exact symptom? Any error > message? Have you tried the "real" script through QConsole? Any chance you > simplify it and post it here? More pairs of eyes might catch something you > missed... > > > > Regards, > > > > -- > > Florent Georges > > H2O Consulting > > http://h2o.consulting/ > > > > On 30 Jan 2018 22:29, "Lanz" <lancelot.meuril...@gmail.com> wrote: > >> > >> Hi all, > >> > >> I've got this strange issue with xdmp:node-delete with a node in the > database with Marklogic 8.0-6.3. > >> First when I use xdmp:node-delete on the target node with the above > basic script, it works: > >> ------------------------------------------------------------ > ------------ > >> xquery version "1.0-ml"; > >> declare namespace html = "http://www.w3.org/1999/xhtml"; > >> declare namespace l="http://www.oecd.org/ns/lambda/schema/"; > >> import module namespace db = "http://www.oecd.org/ns/lambda/app/lib/db" > at "/app/lib/db/db.xqm"; > >> import module namespace exportlib = "http://www.oecd.org/ns/lambda > /app/lib/export" at "/app/lib/export/export.xqm"; > >> declare variable $keyName-parent-toc-info as xs:string := > 'parent-toc-info'; > >> let $rid := 'urn:oecd.org:publications:id:expression:g2g12781' > >> let $doc := fn:doc(db:get-uri-by-rid($rid))/l:expression > >> return > >> ( > >> (: display parent node before child node deletion :) > >> $doc/l:exportChannels/l:exportChannel[@href = > $exportlib:channel-rid-i2])/l:precomputedValues > >> ,xdmp:node-delete($doc/l:exportChannels/l:exportChannel[@href = > $exportlib:channel-rid-i2])/l:precomputedValues/l:precomputedValue[@key = > $keyName-parent-toc-info] > >> ) > >> ------------------------------------------------------------ > ------------ > >> The node 'l:precomputedValues[l:precomputedValue[@key = > $keyName-parent-toc-info]]' is removed from document in database > >> > >> But if I try to do it in the following script (the real script), it > does not work: > >> 1- I populate a map $mapA with ids of eligible documents based on a > sem:sparql query using a sem:store constructor > >> 2- I populate a map $mapB with ids of larger set of documents based on > a sem:sparql query using a sem:store constructor with a > cts:element-attribute-value-query on the element to be deleted > (cts:element-attribute-value-query > (xs:QName('l:precomputedValue'),xs:QName('key'), > $keyName-parent-toc-info)) among other cts:query constructor > >> 3- Then I create a 3rd map based on the difference of the two maps > ($mapB - $mapA) > >> 4- I loop over this map of ids to get the uri of the document, then the > document with fn:doc(), then I get the element l:precomputedValues to be > deleted with an Xpath (the same as in the basic script) > >> 5- It never works on Oxygen using an xdbc connection on ML db or event > in Qconsole. There is no error, it takes a while and I've got nothing in > the error log (even with the finest setting). When I launch the profiler on > Qconsole, here the message I get at the end : > >> [1.0-ml] XDMP-CAST: (err:FORG0001) xs:unsignedLong($d div > xs:dayTimeDuration("PT0.000001S")) -- Invalid cast: -178609914.9 cast as > xs:unsignedLong > >> > >> I confirm: > >> - the node to be deleted is in the db not an on-the-fly constructed node > >> - the id used in the first successful script comes from the final map > in second script. This final map is populated with correct and real > document ids. > >> > >> Any help is appreciated > >> Lanz > >> > >> _______________________________________________ > >> General mailing list > >> General@developer.marklogic.com > >> Manage your subscription at: > >> http://developer.marklogic.com/mailman/listinfo/general > >> > > > > _______________________________________________ > > General mailing list > > General@developer.marklogic.com > > Manage your subscription at: > > http://developer.marklogic.com/mailman/listinfo/general > > > > _______________________________________________ > General mailing list > General@developer.marklogic.com > Manage your subscription at: > http://developer.marklogic.com/mailman/listinfo/general > >
_______________________________________________ General mailing list General@developer.marklogic.com Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general