Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-2366

Incorrect EJBQL COUNT translation

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.0.B2, 4.1.M1
    • Fix Version/s: 4.0.B2, 4.1.M1
    • Component/s: None
    • Labels:
      None

      Description

      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:

      select count(a) from E17 a
      

      Previously it generated SQL like this:

      SELECT COUNT(*) AS sc0 FROM utest.e17 t0 
      

      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:

      SELECT COUNT(t0.id1) AS sc0 FROM utest.e17 t1 
      

      The result is an exception similar to this:

      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)
      

        Attachments

          Activity

            People

            • Assignee:
              ntimofeev Nikita Timofeev
              Reporter:
              andrus Andrus Adamchik
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: