- when executing it like this, inside of a closure, nothing happens. No modifications of the database and no errors (%updating missing) either - which is weird. Is this construct supported in 7.5?
I'm not exactly sure about this one - can somebody else help me out here?
- when I remove the sec:secure call and leave only the rest (adding %updating to the declaration) the second insert runs but the first one doesn't - the node is saved without a "id" attribute. Does this have something to do with the PUL order? (http://docs.basex.org/wiki/Update#Example)
Exactly - the example in the documentation explains it all. With the XQUF it is not at all possible to access
the changes you introduced in a query within the same query. If you want to do this you could use the
[transform expression], which modifies a copy of a given node. Like this:
let $profile :=
copy $p := json:parse-ml(convert:binary-to-string($data))
modify insert node attribute id { sec:get-current-user-id() } into $p
return $p
return (
insert node $profile as last into db:open("db")/s:root
)
Hope this helps a little ...
Cheers,
Lukas