Looks like a bug, could you please report it? In the meanwhile, this can be used:
SELECT count(t) FROM User t WHERE (upper(t.email) LIKE '%[email protected]%') OR (upper(t.email) LIKE '%[email protected]%') 2010/1/20 Andreas Hartmann <[email protected]> > Hi everyone, > > I'm taking my first steps with EJBQL. > Can someone spot the error in the following statement? > > > SELECT count(t) FROM User t WHERE > (upper(t.email) LIKE upper('%[email protected]%')) OR > (upper(t.email) LIKE upper('%[email protected]%')) > > > The exception is: > > Caused by: org.apache.cayenne.ejbql.parser.ParseException: Encountered " > "UPPER" "upper "" at line 1, column 36. > Was expecting one of: > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > "(" ... > > 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) > > > > Thanks a lot in advance! > > Best regards, > Andreas > > > > -- > Andreas Hartmann, CTO > BeCompany GmbH > http://www.becompany.ch > Tel.: +41 (0) 43 818 57 01 > > -- Andrey
