ModeShape/modeshape — pull request #1276 by rhauch (2014-09-24 15:24:31+00:00)
Title: MODE-2290 Corrected use of mixin aliases in determining whether indexes are applicable

When an alias is used in a query, there is a constraint that specifies the allowed values for the 'jcr:primaryType' or 'jcr:mixinTypes' properties. (This constraint is added during the planning/optimization phase, and is based upon whether the selected node type is a mixin.)

The logic used in the IndexCalculator was only looking for constraints on 'jcr:primaryType', and thus any alias on a type that was a mixin type would not apply to any indexes. Changing the logic to also look at the 'jcr:mixinTypes' in the property value of the constraint fixes the problem.