jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-804) Avoid using MultiTermDocs
Date Mon, 09 Apr 2007 09:36:32 GMT

    [ https://issues.apache.org/jira/browse/JCR-804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12487515

Marcel Reutegger commented on JCR-804:

Hi Ate,

What kind of java compiler are you using? My Sun javac (1.4.2_12) does not show this error.

I think the relevant section in the JLS is the following:


In our case C is an inner member class. Furthermore we are using an unqualified class instance
creation expression and then it's the second sub case:

"Otherwise, if C is a member of an enclosing class then let O be the innermost lexically enclosing
class of which C is a member, and let n be an integer such that O is the nth lexically enclosing
class of the class in which the class instance creation expression appears. The immediately
enclosing instance of i is the nth lexically enclosing instance of this."

If C is the RangeQueryScorer class then O is the RangeQuery class. The enclosing classes of
the class in which the class instance creating expression appears are:
0th: anonymous ScorerFactory class
1st: RangeQueryWeight
2nd: RangeQuery

Therefore n is 2 (because O is the RangeQuery class) and the immediately enclosing instance
of i (i is the instance being created) is RangeQuery.this.

According to the JLS a qualified class instance creation expression is not necessary here.
Thus, both should work:

return new RangeQueryScorer(searcher.getSimilarity(), reader);

as well as:

return RangeQuery.this.new RangeQueryScorer(searcher.getSimilarity(), reader);

> Avoid using MultiTermDocs
> -------------------------
>                 Key: JCR-804
>                 URL: https://issues.apache.org/jira/browse/JCR-804
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: query
>            Reporter: Marcel Reutegger
>            Priority: Minor
>             Fix For: 1.3
> Similar to MatchAllQuery also RangeQuery and WildcardQuery will result in use of MultiTermDocs.
Those queries should also use the MultiScorer. See also issue JCR-791.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message