[JIRA] Created: (CAY-919) EJBQL Query with relational queries (<, <=, >, >=) are throwing exceptions

From: Garry Watkins (JIRA) ("Garry)
Date: Tue Nov 13 2007 - 21:00:43 EST

  • Next message: Kevin Menard: "Re: [JIRA] Created: (CAY-904) Switch cayenne to Java 5: merge cayenne-jdk1.4-unpublished to cayenne-jdk1.5-unpublished"

    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.
    



    This archive was generated by hypermail 2.0.0 : Tue Nov 13 2007 - 21:01:09 EST