Я работаю под кодом и ожидаю, что функция insert-after
будет выполнена после функции insert-before
(по крайней мере, с интервалом в 2000 миллисекунд), так как я понимаю, что XQuery будет выполнять операторы в последовательности. Но после запуска кода я вижу, что оба документа ( / content / testbefore.xml и / content / testafter.xml ), созданные двумя функциями, имеют точное совпадение значений меток времени до миллисекунд.
Как сделать так, чтобы операторы выполнялись последовательно?
xquery version "1.0-ml";
declare function local:insert-before()
{
let $contents :=
<book>
<bookTitle>All About George</bookTitle>
<tstmp>{fn:current-dateTime()}</tstmp>
<chapter1>
<chapterTitle>Curious George</chapterTitle>
</chapter1>
</book>
return xdmp:document-insert("/content/testbefore.xml", $contents)
};
declare function local:insert-after()
{
let $contents :=
<after>
<bookTitle>All About George</bookTitle>
<tstmp>{fn:current-dateTime()}</tstmp>
<chapter1>
<chapterTitle>Curious George</chapterTitle>
</chapter1>
</after>
return xdmp:document-insert("/content/testafter.xml", $contents)
};
local:insert-before(),
xdmp:commit(),
xdmp:sleep(2000),
local:insert-after();