cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikita Timofeev (JIRA)" <>
Subject [jira] [Closed] (CAY-2366) Incorrect EJBQL COUNT translation
Date Tue, 26 Sep 2017 12:54:00 GMT


Nikita Timofeev closed CAY-2366.
       Resolution: Fixed
    Fix Version/s: 4.1.M1

> Incorrect EJBQL COUNT translation
> ---------------------------------
>                 Key: CAY-2366
>                 URL:
>             Project: Cayenne
>          Issue Type: Bug
>    Affects Versions: 4.0.B2, 4.1.M1
>            Reporter: Andrus Adamchik
>            Assignee: Nikita Timofeev
>             Fix For: 4.0.B2, 4.1.M1
> As a part of 4.0.B2 evaluation, I tried running LinkRest tests on 4.0.B2. I got a few
errors related to EJBQL query with COUNT translation. Consider this query for instance:
> {noformat}
> select count(a) from E17 a
> {noformat}
> Previously it generated SQL like this:
> {noformat}
> SELECT COUNT(*) AS sc0 FROM utest.e17 t0 
> {noformat}
> Now it generates SQL with an explicit ID inside COUNT, but the alias for the column and
the alias for the table do not match:
> {noformat}
> SELECT COUNT(t0.id1) AS sc0 FROM utest.e17 t1 
> {noformat}
> The result is an exception similar to this:
> {noformat}
> java.sql.SQLSyntaxErrorException: Column 'T0.ID1' is either not in any table in the FROM
list or appears within a join specification and is outside the scope of the join specification
or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER
TABLE  statement then 'T0.ID1' is not a column in the target table.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
> {noformat}

This message was sent by Atlassian JIRA

View raw message