You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Andy Savin (JIRA)" <ji...@apache.org> on 2012/07/24 16:21:33 UTC
[jira] [Created] (JCR-3398) LOWER operand with nested LOCALNAME
operand does not work with SQL2
Andy Savin created JCR-3398:
-------------------------------
Summary: LOWER operand with nested LOCALNAME operand does not work with SQL2
Key: JCR-3398
URL: https://issues.apache.org/jira/browse/JCR-3398
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: query
Affects Versions: 2.4.2
Environment: Java 6
Reporter: Andy Savin
This is the same issue raised here:
https://issues.apache.org/jira/browse/JCR-3159
However, it doesn't appear to be fixed. getNodeLocalNameQuery method of LuceneQueryFactory throws an UnsupportedRepositoryOperationException (see stack trace below).
The reason appears to be that this method is coded to only allow TRANSFORM_NONE. Commenting out this check and the query works as expected.
Query:
SELECT * FROM [nt:base] as t where (LOWER(localname(t)) like '%test%' OR contains(t.*, 'test')) AND ISDESCENDANTNODE('/2/8/.documents')
Stack trace:
Caused by: javax.jcr.UnsupportedRepositoryOperationException
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getNodeLocalNameQuery(LuceneQueryFactory.java:675)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getComparisonQuery(LuceneQueryFactory.java:627)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:430)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.addBooleanConstraint(LuceneQueryFactory.java:556)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getOrQuery(LuceneQueryFactory.java:532)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:422)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.mapConstraintToQueryAndFilter(LuceneQueryFactory.java:409)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.mapConstraintToQueryAndFilter(LuceneQueryFactory.java:359)
at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.execute(LuceneQueryFactory.java:210)
at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:465)
at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:126)
at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:115)
at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:129)
at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:124)
at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
at org.apache.jackrabbit.core.query.QueryObjectModelImpl.execute(QueryObjectModelImpl.java:123)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (JCR-3398) LOWER operand with nested LOCALNAME
operand does not work with SQL2
Posted by "Alex Parvulescu (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-3398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13426379#comment-13426379 ]
Alex Parvulescu commented on JCR-3398:
--------------------------------------
Hi Andy,
Do you mind submitting a patch with a test for this issue?
There already is a test class that you can easily use to build a small unit test [0].
[0] http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SQL2NodeLocalNameTest.java?view=markup
> LOWER operand with nested LOCALNAME operand does not work with SQL2
> -------------------------------------------------------------------
>
> Key: JCR-3398
> URL: https://issues.apache.org/jira/browse/JCR-3398
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: query
> Affects Versions: 2.4.2
> Environment: Java 6
> Reporter: Andy Savin
>
> This is the same issue raised here:
> https://issues.apache.org/jira/browse/JCR-3159
> However, it doesn't appear to be fixed. getNodeLocalNameQuery method of LuceneQueryFactory throws an UnsupportedRepositoryOperationException (see stack trace below).
> The reason appears to be that this method is coded to only allow TRANSFORM_NONE. Commenting out this check and the query works as expected.
> Query:
> SELECT * FROM [nt:base] as t where (LOWER(localname(t)) like '%test%' OR contains(t.*, 'test')) AND ISDESCENDANTNODE('/2/8/.documents')
> Stack trace:
> Caused by: javax.jcr.UnsupportedRepositoryOperationException
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getNodeLocalNameQuery(LuceneQueryFactory.java:675)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getComparisonQuery(LuceneQueryFactory.java:627)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:430)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.addBooleanConstraint(LuceneQueryFactory.java:556)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getOrQuery(LuceneQueryFactory.java:532)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:422)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.mapConstraintToQueryAndFilter(LuceneQueryFactory.java:409)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.mapConstraintToQueryAndFilter(LuceneQueryFactory.java:359)
> at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.execute(LuceneQueryFactory.java:210)
> at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:465)
> at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:126)
> at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:115)
> at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:129)
> at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:124)
> at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
> at org.apache.jackrabbit.core.query.QueryObjectModelImpl.execute(QueryObjectModelImpl.java:123)
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira