Some time ago, Charles Foster had the idea that all bound variables should be added to the stack trace whenever an error occurs [1]; would that be helpful? Before implementing this, however, we would need to think of various issues related to performance (try/catch statements will get slower when variables are bound to the stack every time; large XML snippets that will not be garbage-colected when being bound to an error; database references are not available anymore when an error is raised, etc.).
[1] https://github.com/BaseXdb/basex/issues/831
On Mon, Aug 18, 2014 at 9:39 PM, Andy Bunce bunce.andy@gmail.com wrote:
Hi France,
I think this is not possible, but I think it would be a good thing! I think it is related to Marc's query about call an anonymous function with a variable argument list [1]
XQuery provides no access to the stack. But..I can see that one could implement a new function maybe in the BaseX profiling module [2] that returns a map. The keys would be the argument names of the function being executed and the values those of the current arguments.
All that is required is to implement it :-)
/Andy
[1] http://www.mail-archive.com/basex-talk%40mailman.uni-konstanz.de/msg04539.ht... [2] http://docs.basex.org/wiki/Profiling_Module
On 18 August 2014 18:14, France Baril france.baril@architextus.com wrote:
Hi,
I'm working on improving our tracking capabilities. I was hoping to find a function that would do the equivalent of what the code bellow does, but for internal functions that are not called through the rest interface.
string-join(for $name in request:parameter-names() return $name || ': ' || string-join(request:parameter($name), '; '),
' ')
In short, I was wondering if there is way I can read the function's parameters and their values without listing each one explicitly.
I searched the documentation without success.
-- France Baril Architecte documentaire / Documentation architect france.baril@architextus.com