Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
None
Description
Example query:
SELECT a.* FROM [nt:unstructured] AS a INNER JOIN [nt:unstructured] AS b ON b.[jcr:uuid] = a.testref WHERE a.type = 'child' AND (CONTAINS(a.*, 'testJoinWithOR4') OR b.type = 'parent' AND CONTAINS(b.*, 'testJoinWithOR4'))
I'm not sure why this happens, but I noticed stepping through the code that the filter generated on the query doesn't contain any fulltext constraints. It does however contain the 'type' info which will trick the query engine into picking a property index, failing the test because is returns more results than it should.
See failing tests on the lucene module:
- org.apache.jackrabbit.core.query.JoinTest#testJoinWithOR4
- org.apache.jackrabbit.core.query.JoinTest#testJoinWithOR5