Hello,
I was stressing the BaseX 8.6 planner/optimizer when I noticed that expressions like `count(//elem)` are not optimized at all, even though they are correctly indexed, as demonstrated by `index:element-names()`.
The current database is a 300 MB TEI document. All the elements are in the `http://www.tei-c.org/ns/1.0%60 namespace.
The following test case will report the correct number, but it will take a couple of seconds to run, instead of a few milliseconds.
``` declare namespace tei="http://www.tei-c.org/ns/1.0";
let $n := index:element-names("monier")[. = 're']/@count
let $c := count(//tei:re)
return <res><in-index>{$n}</in-index><in-doc>{$c}</in-doc></res> ```
I wonder if the presence of the namespace somehow confuses the optimizer. The same problem can be observed running the same test case with
``` declare default element namespace "http://www.tei-c.org/ns/1.0"; [...] let $c := count(//re) ```
Regards,
-- Gioele Barabucci gioele.barabucci@uni-koeln.de