OJB 1.0.4 ODMG implementation

Längerich Bernd <[email protected]> Mon, 15 Feb 2010 15:58:32 +0100
Newsgroups gmane.comp.jakarta.ojb.user
Message-ID <[email protected]>
------_=_NextPart_001_01CAAE4F.583F63AC
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi,

=20

I just played around with ODMG and tried to execute the following OQL:

=20

"select x from myClass where attribute is not in ( select distinct y.id =
from anotherClass )"

=20

During OQLQuery q.create(oql) OJB writes a message to stderr with =
"unexpected token (select)" and throws an Exception:

=20

java.lang.NoSuchMethodError: =
org.apache.ojb.odmg.oql.OQLParser.recover(Lantlr/RecognitionException;Lan=
tlr/collections/impl/BitSet;)V

            at org.apache.ojb.odmg.oql.OQLParser.argList(Unknown Source)

            at org.apache.ojb.odmg.oql.OQLParser.inExpr(Unknown Source)

            at org.apache.ojb.odmg.oql.OQLParser.quantifierExpr(Unknown =
Source)

            at org.apache.ojb.odmg.oql.OQLParser.andExpr(Unknown Source)

            at org.apache.ojb.odmg.oql.OQLParser.orExpr(Unknown Source)

            at org.apache.ojb.odmg.oql.OQLParser.whereClause(Unknown =
Source)

            at org.apache.ojb.odmg.oql.OQLParser.selectQuery(Unknown =
Source)

            at org.apache.ojb.odmg.oql.OQLParser.buildQuery(Unknown =
Source)

            at org.apache.ojb.odmg.oql.OQLQueryImpl.create(Unknown =
Source)

            at org.apache.ojb.odmg.oql.OQLQueryImpl.create(Unknown =
Source)

=20

=20

Am I right in assuming, that OJB does not support such subqueries?

=20

Retrieving the Collection from the subquery and then explicitely =
generating an not in expression does the job, however the subquery =
result could be quite large.

=20

Best regards

=20

Bernd L=E4ngerich




------_=_NextPart_001_01CAAE4F.583F63AC--