On 1/14/19 5:08 PM, Christian Grün wrote:
Oh yes, many things are happening here; I am always surprised by myself. Here is some background information:
• Up to now, the body of a function was always inlined if it is a static value, no matter which value is currently assigned as inline limit. • BaseX 9 pre-evaluates your function body to a value (a so-called "singleton sequence", to be exact; it is represented as “SingletonSeq” in the query plan). • As a result, the body was inlined with BaseX 9, whereas it was not in previous versions.
The decision to ignore the inline limit if the function body is a value has been taken 6 years ago, so I cannot recollect what was the reason behind that. I decided to change this optimization rules, though (in practice, hardly anyone will notice this, as it’s only observable if the function inlining limit is changed). The behavior of the latest snapshot may be easier to understand now [1].
Hope this helps Christian
Thanks Christian, I will use this snapshot, always happy to help testing :)