You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Robert Haycock <Ro...@artificial-solutions.com> on 2012/11/22 15:42:08 UTC

JCR SQL2 query - NullPointerException in DescendantSelfAxisQuery

Hi,

 

I was trying to do a JCR SQL2 query...

 

SELECT * FROM [nt:xxxxNode] AS document WHERE ISDESCENDANTNODE(document,
'/thexxxxRoot/07cc41fc-a221-4fd7-8d2b-0cc8a8719b25') AND ( CONTAINS
(document.documentId, '378d57e4-0036-4537-bdd4-305e62aa9a67') AND
CONTAINS (document.libraryVersion, '1'))

 

... and got this exception...

 

java.lang.NullPointerException

                at
org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$Descenda
ntSelfAxisScorer.nextDoc(DescendantSelfAxisQuery.java:474)

                at org.apache.lucene.search.Scorer.score(Scorer.java:61)

                at
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:212)

                at
org.apache.lucene.search.Searcher.search(Searcher.java:67)

                at
org.apache.jackrabbit.core.query.lucene.SortedLuceneQueryHits.getHits(So
rtedLuceneQueryHits.java:156)

                at
org.apache.jackrabbit.core.query.lucene.SortedLuceneQueryHits.<init>(Sor
tedLuceneQueryHits.java:113)

                at
org.apache.jackrabbit.core.query.lucene.JackrabbitIndexSearcher.evaluate
(JackrabbitIndexSearcher.java:109)

                at
org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.execute(Lucen
eQueryFactory.java:219)

                at
org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEn
gine.java:465)

                at
org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEn
gine.java:126)

                at
org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEn
gine.java:115)

                at
org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObj
ectModelImpl.java:129)

                at
org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObj
ectModelImpl.java:124)

                at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.jav
a:216)

                at
org.apache.jackrabbit.core.query.QueryObjectModelImpl.execute(QueryObjec
tModelImpl.java:123)

This happened in 2.4.3 so I tried 2.5.2 and still got it.

 

Is there a workaround?

 

Rob.

 

Ps. Should exceptions be posted to dev or user?


RE: JCR SQL2 query - NullPointerException in DescendantSelfAxisQuery

Posted by Robert Haycock <Ro...@artificial-solutions.com>.
And anyway CONTAINS is not the problem. ISDESCENDANTNODE is the problem.
When I remove it the NPE no longer happens.


-----Original Message-----
From: Robert Haycock [mailto:Robert.Haycock@artificial-solutions.com] 
Sent: 23 November 2012 10:05
To: users@jackrabbit.apache.org
Subject: RE: JCR SQL2 query - NullPointerException in
DescendantSelfAxisQuery

Reason is because I am not writing this query explicitly and the
existing code uses CONTAINS :)

Using '=' does in fact work. It's a shame CONTAINS doesn't work though.

Thanks.

-----Original Message-----
From: oliver.gregory@gmail.com [mailto:oliver.gregory@gmail.com]
Sent: 22 November 2012 19:21
To: users@jackrabbit.apache.org
Subject: Re: JCR SQL2 query - NullPointerException in
DescendantSelfAxisQuery

Hello Robert,

document.libraryVersion and  document.documentId are properties ? Why
not simply using equality :

SELECT * FROM [nt:xxxxNode] AS document
WHERE ISDESCENDANTNODE(document, '/thexxxxRoot/07cc41fc-a221-
4fd7-8d2b-0cc8a8719b25')
AND document.documentId =  '378d57e4-0036-4537-bdd4-305e62aa9a67'
AND document.libraryVersion = 1

Query Examples here :
http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi-commons/src
/test/resources/org/apache/jackrabbit/spi/commons/query/sql2/test.sql2.t
xt?view=markup




2012/11/22 Manfred Sattler <ms...@tpso.com>

> Have you the right lucene version,3.0.3?
>
>
> Am 22.11.2012 15:42, schrieb Robert Haycock:
>
>  Hi,
>>
>>
>>
>> I was trying to do a JCR SQL2 query...
>>
>>
>>
>> SELECT * FROM [nt:xxxxNode] AS document WHERE 
>> ISDESCENDANTNODE(document,
>> '/thexxxxRoot/07cc41fc-a221-**4fd7-8d2b-0cc8a8719b25') AND ( CONTAINS

>> (document.documentId, '378d57e4-0036-4537-bdd4-**305e62aa9a67') AND 
>> CONTAINS (document.libraryVersion, '1'))
>>
>>
>>
>> ... and got this exception...
>>
>>
>>
>> java.lang.NullPointerException
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**DescendantSelfAxisQuery$*
>> *
>> Descenda
>> ntSelfAxisScorer.nextDoc(**DescendantSelfAxisQuery.java:**474)
>>
>>                 at org.apache.lucene.search.**
>> Scorer.score(Scorer.java:61)
>>
>>                 at
>> org.apache.lucene.search.**IndexSearcher.search(**IndexSearcher.java:
>> 212)
>>
>>                 at
>> org.apache.lucene.search.**Searcher.search(Searcher.java:**67)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**
>> SortedLuceneQueryHits.getHits(**So
>> rtedLuceneQueryHits.java:156)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**SortedLuceneQueryHits.<in
>> it>(
>> **Sor
>> tedLuceneQueryHits.java:113)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**JackrabbitIndexSearcher.*
>> *
>> evaluate
>> (JackrabbitIndexSearcher.java:**109)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**LuceneQueryFactory.execut
>> e(**
>> Lucen
>> eQueryFactory.java:219)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:465)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:126)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:115)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl$2.**
>> perform(QueryObj
>> ectModelImpl.java:129)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl$2.**
>> perform(QueryObj
>> ectModelImpl.java:124)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**session.SessionState.perform(**
>> SessionState.jav
>> a:216)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl.**
>> execute(QueryObjec
>> tModelImpl.java:123)
>>
>> This happened in 2.4.3 so I tried 2.5.2 and still got it.
>>
>>
>>
>> Is there a workaround?
>>
>>
>>
>> Rob.
>>
>>
>>
>> Ps. Should exceptions be posted to dev or user?
>>
>
>

RE: JCR SQL2 query - NullPointerException in DescendantSelfAxisQuery

Posted by Robert Haycock <Ro...@artificial-solutions.com>.
Reason is because I am not writing this query explicitly and the
existing code uses CONTAINS :)

Using '=' does in fact work. It's a shame CONTAINS doesn't work though.

Thanks.

-----Original Message-----
From: oliver.gregory@gmail.com [mailto:oliver.gregory@gmail.com] 
Sent: 22 November 2012 19:21
To: users@jackrabbit.apache.org
Subject: Re: JCR SQL2 query - NullPointerException in
DescendantSelfAxisQuery

Hello Robert,

document.libraryVersion and  document.documentId are properties ? Why
not simply using equality :

SELECT * FROM [nt:xxxxNode] AS document
WHERE ISDESCENDANTNODE(document, '/thexxxxRoot/07cc41fc-a221-
4fd7-8d2b-0cc8a8719b25')
AND document.documentId =  '378d57e4-0036-4537-bdd4-305e62aa9a67'
AND document.libraryVersion = 1

Query Examples here :
http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi-commons/src
/test/resources/org/apache/jackrabbit/spi/commons/query/sql2/test.sql2.t
xt?view=markup




2012/11/22 Manfred Sattler <ms...@tpso.com>

> Have you the right lucene version,3.0.3?
>
>
> Am 22.11.2012 15:42, schrieb Robert Haycock:
>
>  Hi,
>>
>>
>>
>> I was trying to do a JCR SQL2 query...
>>
>>
>>
>> SELECT * FROM [nt:xxxxNode] AS document WHERE 
>> ISDESCENDANTNODE(document,
>> '/thexxxxRoot/07cc41fc-a221-**4fd7-8d2b-0cc8a8719b25') AND ( CONTAINS

>> (document.documentId, '378d57e4-0036-4537-bdd4-**305e62aa9a67') AND 
>> CONTAINS (document.libraryVersion, '1'))
>>
>>
>>
>> ... and got this exception...
>>
>>
>>
>> java.lang.NullPointerException
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**DescendantSelfAxisQuery$*
>> *
>> Descenda
>> ntSelfAxisScorer.nextDoc(**DescendantSelfAxisQuery.java:**474)
>>
>>                 at org.apache.lucene.search.**
>> Scorer.score(Scorer.java:61)
>>
>>                 at
>> org.apache.lucene.search.**IndexSearcher.search(**IndexSearcher.java:
>> 212)
>>
>>                 at
>> org.apache.lucene.search.**Searcher.search(Searcher.java:**67)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**
>> SortedLuceneQueryHits.getHits(**So
>> rtedLuceneQueryHits.java:156)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**SortedLuceneQueryHits.<in
>> it>(
>> **Sor
>> tedLuceneQueryHits.java:113)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**JackrabbitIndexSearcher.*
>> *
>> evaluate
>> (JackrabbitIndexSearcher.java:**109)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**LuceneQueryFactory.execut
>> e(**
>> Lucen
>> eQueryFactory.java:219)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:465)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:126)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:115)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl$2.**
>> perform(QueryObj
>> ectModelImpl.java:129)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl$2.**
>> perform(QueryObj
>> ectModelImpl.java:124)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**session.SessionState.perform(**
>> SessionState.jav
>> a:216)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl.**
>> execute(QueryObjec
>> tModelImpl.java:123)
>>
>> This happened in 2.4.3 so I tried 2.5.2 and still got it.
>>
>>
>>
>> Is there a workaround?
>>
>>
>>
>> Rob.
>>
>>
>>
>> Ps. Should exceptions be posted to dev or user?
>>
>
>

Re: JCR SQL2 query - NullPointerException in DescendantSelfAxisQuery

Posted by "oliver.gregory@gmail.com" <ol...@gmail.com>.
Hello Robert,

document.libraryVersion and  document.documentId are properties ? Why not
simply using equality :

SELECT * FROM [nt:xxxxNode] AS document
WHERE ISDESCENDANTNODE(document, '/thexxxxRoot/07cc41fc-a221-
4fd7-8d2b-0cc8a8719b25')
AND document.documentId =  '378d57e4-0036-4537-bdd4-305e62aa9a67'
AND document.libraryVersion = 1

Query Examples here :
http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi-commons/src/test/resources/org/apache/jackrabbit/spi/commons/query/sql2/test.sql2.txt?view=markup




2012/11/22 Manfred Sattler <ms...@tpso.com>

> Have you the right lucene version,3.0.3?
>
>
> Am 22.11.2012 15:42, schrieb Robert Haycock:
>
>  Hi,
>>
>>
>>
>> I was trying to do a JCR SQL2 query...
>>
>>
>>
>> SELECT * FROM [nt:xxxxNode] AS document WHERE ISDESCENDANTNODE(document,
>> '/thexxxxRoot/07cc41fc-a221-**4fd7-8d2b-0cc8a8719b25') AND ( CONTAINS
>> (document.documentId, '378d57e4-0036-4537-bdd4-**305e62aa9a67') AND
>> CONTAINS (document.libraryVersion, '1'))
>>
>>
>>
>> ... and got this exception...
>>
>>
>>
>> java.lang.NullPointerException
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**DescendantSelfAxisQuery$**
>> Descenda
>> ntSelfAxisScorer.nextDoc(**DescendantSelfAxisQuery.java:**474)
>>
>>                 at org.apache.lucene.search.**
>> Scorer.score(Scorer.java:61)
>>
>>                 at
>> org.apache.lucene.search.**IndexSearcher.search(**IndexSearcher.java:212)
>>
>>                 at
>> org.apache.lucene.search.**Searcher.search(Searcher.java:**67)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**
>> SortedLuceneQueryHits.getHits(**So
>> rtedLuceneQueryHits.java:156)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**SortedLuceneQueryHits.<init>(
>> **Sor
>> tedLuceneQueryHits.java:113)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**JackrabbitIndexSearcher.**
>> evaluate
>> (JackrabbitIndexSearcher.java:**109)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.**LuceneQueryFactory.execute(**
>> Lucen
>> eQueryFactory.java:219)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:465)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:126)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.lucene.join.QueryEngine.**
>> execute(QueryEn
>> gine.java:115)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl$2.**
>> perform(QueryObj
>> ectModelImpl.java:129)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl$2.**
>> perform(QueryObj
>> ectModelImpl.java:124)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**session.SessionState.perform(**
>> SessionState.jav
>> a:216)
>>
>>                 at
>>
>> org.apache.jackrabbit.core.**query.QueryObjectModelImpl.**
>> execute(QueryObjec
>> tModelImpl.java:123)
>>
>> This happened in 2.4.3 so I tried 2.5.2 and still got it.
>>
>>
>>
>> Is there a workaround?
>>
>>
>>
>> Rob.
>>
>>
>>
>> Ps. Should exceptions be posted to dev or user?
>>
>
>

Re: JCR SQL2 query - NullPointerException in DescendantSelfAxisQuery

Posted by Manfred Sattler <ms...@tpso.com>.
Have you the right lucene version,3.0.3?


Am 22.11.2012 15:42, schrieb Robert Haycock:
> Hi,
>
>
>
> I was trying to do a JCR SQL2 query...
>
>
>
> SELECT * FROM [nt:xxxxNode] AS document WHERE 
> ISDESCENDANTNODE(document,
> '/thexxxxRoot/07cc41fc-a221-4fd7-8d2b-0cc8a8719b25') AND ( CONTAINS
> (document.documentId, '378d57e4-0036-4537-bdd4-305e62aa9a67') AND
> CONTAINS (document.libraryVersion, '1'))
>
>
>
> ... and got this exception...
>
>
>
> java.lang.NullPointerException
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$Descenda
> ntSelfAxisScorer.nextDoc(DescendantSelfAxisQuery.java:474)
>
>                 at 
> org.apache.lucene.search.Scorer.score(Scorer.java:61)
>
>                 at
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:212)
>
>                 at
> org.apache.lucene.search.Searcher.search(Searcher.java:67)
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.SortedLuceneQueryHits.getHits(So
> rtedLuceneQueryHits.java:156)
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.SortedLuceneQueryHits.<init>(Sor
> tedLuceneQueryHits.java:113)
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.JackrabbitIndexSearcher.evaluate
> (JackrabbitIndexSearcher.java:109)
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.LuceneQueryFactory.execute(Lucen
> eQueryFactory.java:219)
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEn
> gine.java:465)
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEn
> gine.java:126)
>
>                 at
> 
> org.apache.jackrabbit.core.query.lucene.join.QueryEngine.execute(QueryEn
> gine.java:115)
>
>                 at
> 
> org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObj
> ectModelImpl.java:129)
>
>                 at
> 
> org.apache.jackrabbit.core.query.QueryObjectModelImpl$2.perform(QueryObj
> ectModelImpl.java:124)
>
>                 at
> 
> org.apache.jackrabbit.core.session.SessionState.perform(SessionState.jav
> a:216)
>
>                 at
> 
> org.apache.jackrabbit.core.query.QueryObjectModelImpl.execute(QueryObjec
> tModelImpl.java:123)
>
> This happened in 2.4.3 so I tried 2.5.2 and still got it.
>
>
>
> Is there a workaround?
>
>
>
> Rob.
>
>
>
> Ps. Should exceptions be posted to dev or user?