anwsering my own question : "upper" can be used, but the keyword *must* be
in lower case
2009/12/17 Andrey Razumovsky <razumovsky.andre..mail.com>
> So likeIgnoreCase in not supported at all? Is there some workaround?
>
> 2009/12/4 Andrus Adamchik <andru..bjectstyle.org>
>
> "likeIgnoreCase" is not valid in EJBQL. Although the error message refers
>> to something else... strange...
>>
>>
>>
>> On Dec 4, 2009, at 4:12 AM, Dave Lamy wrote:
>>
>> Hey guys--
>>>
>>> I'm really just now getting into using the EJBQLQuery and am having some
>>> difficulties. I don't know whether I'm doing something fundamentally
>>> wrong
>>> or what.
>>>
>>> Here's my EJBQL expression that I'm trying to get parsed (running 3.0B1):
>>>
>>> select COUNT(foo) from ProductCollection foo where
>>> foo.productStyles.taxonomy likeIgnoreCase '323.%'
>>>
>>> Parsing this query yields the following exception:
>>>
>>>
>>> org.apache.cayenne.ejbql.parser.ParseException: Encountered "
>>> <IDENTIFIER>
>>> "foo "" at line 1, column 53.
>>> Was expecting:
>>> "(" ...
>>>
>>> at
>>>
>>> org.apache.cayenne.ejbql.parser.EJBQL.generateParseException(EJBQL.java:9419)
>>> at
>>> org.apache.cayenne.ejbql.parser.EJBQL.jj_consume_token(EJBQL.java:9298)
>>> at
>>>
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_primary(EJBQL.java:1933)
>>> at
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_factor(EJBQL.java:1911)
>>> at
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_term(EJBQL.java:1776)
>>> at
>>>
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_expression(EJBQL.java:1738)
>>> at
>>>
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_primary(EJBQL.java:1928)
>>> at
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_factor(EJBQL.java:1911)
>>> at
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_term(EJBQL.java:1776)
>>> at
>>>
>>> org.apache.cayenne.ejbql.parser.EJBQL.conditional_expression(EJBQL.java:1738)
>>> at org.apache.cayenne.ejbql.parser.EJBQL.where_clause(EJBQL.java:1585)
>>> at
>>> org.apache.cayenne.ejbql.parser.EJBQL.select_statement(EJBQL.java:69)
>>> at org.apache.cayenne.ejbql.parser.EJBQL.parseQuery(EJBQL.java:41)
>>> ...
>>>
>>> The statement looks legit to me. Is there like a fundamental something
>>> I'm
>>> not understanding about EJBQL? I saw some docs that showed doing this
>>> sort
>>> of join alias "IN" thing,
>>>
>>> SELECT OBJECT(e) FROM Department d, IN(d.employees) e
>>> WHERE d.name = ?1 AND e.salary > ?2
>>>
>>> My problem is that I'm using Expression.toEJBQL() to gen the where
>>> clause..
>>> was hoping to not have to recreate my code that generates the Expression
>>> object.
>>>
>>> Help!
>>>
>>> Dave
>>>
>>
>>
>
>
> --
> Andrey
>
-- Andrey
This archive was generated by hypermail 2.0.0 : Thu Dec 17 2009 - 07:18:55 EST