You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Hieu Nguyen (JIRA)" <ji...@apache.org> on 2017/12/15 04:02:00 UTC

[jira] [Updated] (JCR-4234) Using LOWER(NAME()) and OR shows UnsupportedRepositoryException

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

Hieu Nguyen updated JCR-4234:
-----------------------------
    Description: 
This query works

{code:java}
SELECT t.*
FROM [nt:base] AS t
WHERE LOWER(NAME(t)) = 'a' AND NAME(t) = 'b'
{code}

But this does not and throws UnsupportedRepositoryOperationException
{code:java}
SELECT t.*
FROM [nt:base] AS t
WHERE LOWER(NAME(t)) = 'a' OR NAME(t) = 'b'
{code}

How can I overcome this issue? Could you please fix it?

Exception:
{code:java}
javax.jcr.UnsupportedRepositoryOperationException: null
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getNodeNameQuery(LuceneQueryFactory.java:639) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getComparisonQuery(LuceneQueryFactory.java:625) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:430) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.addBooleanConstraint(LuceneQueryFactory.java:556) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getOrQuery(LuceneQueryFactory.java:532) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:422) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.mapConstraintToQueryAndFilter(LuceneQueryFactory.java:409) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.execute(LuceneQueryFactory.java:210) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:465) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:126) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:115) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:129) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:124) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.QueryObjectModelImpl.execute(QueryObjectModelImpl.java:123) ~[jackrabbit-core-2.12.4.jar:2.12.4]
{code}


  was:
This query works

{code:java}
SELECT t.*
FROM [nt:base] AS t
WHERE LOWER(NAME(t)) = 'a' AND NAME(t) = 'b'
{code}

But this does not
{code:java}
SELECT t.*
FROM [nt:base] AS t
WHERE LOWER(NAME(t)) = 'a' OR NAME(t) = 'b'
{code}

How can I overcome this issue? Could you please fix it?

Exception:
{code:java}
javax.jcr.UnsupportedRepositoryOperationException: null
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getNodeNameQuery(LuceneQueryFactory.java:639) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getComparisonQuery(LuceneQueryFactory.java:625) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:430) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.addBooleanConstraint(LuceneQueryFactory.java:556) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getOrQuery(LuceneQueryFactory.java:532) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:422) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.mapConstraintToQueryAndFilter(LuceneQueryFactory.java:409) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.execute(LuceneQueryFactory.java:210) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:465) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:126) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:115) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:129) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:124) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) ~[jackrabbit-core-2.12.4.jar:2.12.4]
	at org.apache.jackrabbit.core.query.QueryObjectModelImpl.execute(QueryObjectModelImpl.java:123) ~[jackrabbit-core-2.12.4.jar:2.12.4]
{code}



> Using LOWER(NAME()) and OR shows UnsupportedRepositoryException
> ---------------------------------------------------------------
>
>                 Key: JCR-4234
>                 URL: https://issues.apache.org/jira/browse/JCR-4234
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 2.12.4
>            Reporter: Hieu Nguyen
>
> This query works
> {code:java}
> SELECT t.*
> FROM [nt:base] AS t
> WHERE LOWER(NAME(t)) = 'a' AND NAME(t) = 'b'
> {code}
> But this does not and throws UnsupportedRepositoryOperationException
> {code:java}
> SELECT t.*
> FROM [nt:base] AS t
> WHERE LOWER(NAME(t)) = 'a' OR NAME(t) = 'b'
> {code}
> How can I overcome this issue? Could you please fix it?
> Exception:
> {code:java}
> javax.jcr.UnsupportedRepositoryOperationException: null
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getNodeNameQuery(LuceneQueryFactory.java:639) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getComparisonQuery(LuceneQueryFactory.java:625) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:430) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.addBooleanConstraint(LuceneQueryFactory.java:556) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.getOrQuery(LuceneQueryFactory.java:532) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.create(LuceneQueryFactory.java:422) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.mapConstraintToQueryAndFilter(LuceneQueryFactory.java:409) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.execute(LuceneQueryFactory.java:210) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:465) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:126) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEngine.java:115) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:129) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObjectModelImpl.java:124) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> 	at org.apache.jackrabbit.core.query.QueryObjectModelImpl.execute(QueryObjectModelImpl.java:123) ~[jackrabbit-core-2.12.4.jar:2.12.4]
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)