yes Florent, it returns the doc uri

On Wed, Jan 31, 2018 at 6:53 PM, Florent Georges <li...@fgeorges.org> wrote:

> 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
>
>
_______________________________________________
General mailing list
General@developer.marklogic.com
Manage your subscription at: 
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to