Hi Andy,
> I am pretty sure this is a bug/oversight in inspect:functions. I suspect running it risks data integrity, so it is not a good idea.
Good catch; and I’m somewhat sorry this bug is fixed now [1]. As we
can’t assess at compile time if locking is necessary, a global read
lock is now applied as soon as the function is called. The read lock
is upgraded to a write lock if one of the returned functions is
invoked as an updating function.
Cheers,
Christian
[1] https://github.com/BaseXdb/basex/commit/8e6ae0d02188348b7b8adb872657fc700518675b