Hi,

Whenever a UNION operator ("|") is encountered in an XPath,
the XPathQueryResolver gives up on using indexes to resolve
the query and reverts to a collection scan. This can have
horrible performance consequences for a large database even
if the proper indexes are in place.

A suggested fix is to modify the XPathQueryResolver to perform
UNION operation through an index OR operation. I filed a bug
report (19024) describing this problem and attached a version
of XPathQueryResolver modified to use indexes to resolve
UNION operations.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19204

The fixed version of XPathQueryResolver is attached to the
bug report if anyone with commit powers would care to take
a look and perhaps commit it.

-Terry




Reply via email to