EJBQL Query with relational queries (<, <=, >, >=) are throwing exceptions
--------------------------------------------------------------------------

                 Key: CAY-919
                 URL: https://issues.apache.org/cayenne/browse/CAY-919
             Project: Cayenne
          Issue Type: Bug
          Components: Cayenne Core Library
    Affects Versions: 3.0
         Environment: Mac OS/X (Leopard), Java 1.5 Cayenne 3.M2
            Reporter: Garry Watkins
            Assignee: Andrus Adamchik
            Priority: Blocker


When using a relational operator in an EJBQLQuery it is throwing a 
ParseException. Additionally shouldn't this return a data row instead a list of 
an Object[] array?  That is assuming that one can alias the selected 
attributes.  However, it appears that you cannot specify an alias.

Source:

        EJBQLQuery q = new EJBQLQuery("SELECT at.isUsage, sum(at.amount), 
sum(at.hours) FROM AccrualTransaction at WHERE at.accrualCode = :accrualCode 
and at.employeeID = :employeeID and effectiveDate >= :payrollDate GROUP BY 
at.isUsage");
        q.setParameter("accrualCode", bal.getCode());
        q.setParameter("employeeID", emp.getEmployeeID());
        q.setParameter("effectiveDate", balanceDate);
        List results = emp.getObjectContext().performQuery(q);  <<== throws 
exception here
        System.out.println(results);

Error follows:

org.apache.cayenne.ejbql.parser.ParseException: Encountered "effectiveDate >=" 
at line 1, column 149.
Was expecting one of:
    "(" ...
    "NOT" ...
    "EXISTS" ...
    "+" ...
    "-" ...
    <DECIMAL_LITERAL> ...
    <INTEGER_LITERAL> ...
    ":" ...
    "?" ...
    <IDENTIFIER> ...
    <IDENTIFIER> "." ...
    "LENGTH" ...
    "LOCATE" ...
    "ABS" ...
    "SQRT" ...
    "MOD" ...
    "SIZE" ...
    "AVG" ...
    "MAX" ...
    "MIN" ...
    "SUM" ...
    "COUNT" ...
    "SELECT" ...
    <STRING_LITERAL> ...
    "CONCAT" ...
    "SUBSTRING" ...
    "TRIM" ...
    "LOWER" ...
    "UPPER" ...
    <BOOLEAN_LITERAL> ...
    "CURRENT_DATE" ...
    "CURRENT_TIME" ...
    "CURRENT_TIMESTAMP" ...
    "NEW" ...
    "ALL" ...
    "ANY" ...
    "SOME" ...
    "EMPTY" ...
    "ASC" ...
    "DESC" ...
    "ORDER" ...
    "IS" ...
    "MEMBER" ...
    "OF" ...
    "LIKE" ...
    "ESCAPE" ...
    "BETWEEN" ...
    "NULL" ...
    "OR" ...
    "AND" ...
    "LEADING" ...
    "TRAILING" ...
    "BOTH" ...
    "DISTINCT" ...
    "FROM" ...
    "UPDATE" ...
    "DELETE" ...
    "WHERE" ...
    "GROUP" ...
    "BY" ...
    "HAVING" ...
    "AS" ...
    "LEFT" ...
    "OUTER" ...
    "INNER" ...
    "JOIN" ...
    "FETCH" ...
    "IN" ...
    "SET" ...
    "OBJECT" ...
    <IDENTIFIER> "=" ...
    <IDENTIFIER> "<>" ...
    <IDENTIFIER> "NOT" ...
    <IDENTIFIER> "MEMBER" ...
    

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to