[ 
https://issues.apache.org/jira/browse/JCR-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jukka Zitting updated JCR-1408:
-------------------------------

    Fix Version/s:     (was: 1.5)

> Invalid query results when using jcr:like with a case transform function and 
> a pattern not starting with a wildcard
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1408
>                 URL: https://issues.apache.org/jira/browse/JCR-1408
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-core, query
>    Affects Versions: 1.4, core 1.4.1
>         Environment: Ubuntu gutsy, Sun JDK 1.5.0_08
>            Reporter: Sébastien Launay
>             Fix For: core 1.4.2
>
>         Attachments: jackrabbit-1.4.x-query-like.patch
>
>
> If the repository contains nodes with the following value for the property 
> name :
> john
> JOhn
> joe
> Joey
> and we run the following query :
> //element(*, document)/*[jcr:like(fn:lower-case(@name), 'joh%')]")
> then all the previous nodes will match especially the last 2 nodes.
> The reason is the use of two range scans from the lucene term index:
> ..._name_jOH
> ..................
> ..._name_joh_
> and
> ..._name_JOH
> ..................
> ..._name_Joh_
> The first range will contains ..._name_joe property and the second will 
> contains ..._name_Joey.
> But the pattern 'joh%' and so the regexp '.*' because of the range scan will 
> match
> the substring values of the properties ('' in the first range and 'y' in the 
> second range).
> The solution is to use the full pattern (ie 'joh.*') for matching each 
> properties.

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

Reply via email to