You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Mathias Bogaert (JIRA)" <ji...@apache.org> on 2008/04/09 10:55:24 UTC
[jira] Created: (OPENJPA-566) OpenJPA not supporting count(*)
syntax
OpenJPA not supporting count(*) syntax
--------------------------------------
Key: OPENJPA-566
URL: https://issues.apache.org/jira/browse/OPENJPA-566
Project: OpenJPA
Issue Type: Bug
Components: query
Affects Versions: 1.0.2
Environment: Spring 2.5.3, JDK 1.5.
Reporter: Mathias Bogaert
Priority: Blocker
When executing a simple query using the (assumingly) valid count(*) syntax, accepted by Hibernate, OpenJPA throws an exception.
Caused by: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter 'SELECT count(*) FROM Order instance'. Error message: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.kernel.jpql.ParseException: Encountered "*" at character 14, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "COUNT", "DISTINCT", "LENGTH", "LOCATE", "MAX", "MIN", "MOD", "SELECT", "SIZE", "SQRT", "SUM", <DECIMAL_LITERAL>, <IDENTIFIER>, <INTEGER_LITERAL>].
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1665)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:1645)
at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:47)
at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:144)
at org.apache.openjpa.datacache.QueryCacheStoreQuery.newCompilation(QueryCacheStoreQuery.java:236)
at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:651)
at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:633)
at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:599)
at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:661)
at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1487)
at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:227)
at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:277)
at com.toyota.tme.jpapoc.dao.GenericDaoJpa$7.doInJpa(GenericDaoJpa.java:416)
at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (OPENJPA-566) OpenJPA not supporting count(*)
syntax
Posted by "Julien Kronegg (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12696436#action_12696436 ]
Julien Kronegg commented on OPENJPA-566:
----------------------------------------
This issue also occurs under Seam. See https://jira.jboss.org/jira/browse/JBSEAM-3032
> OpenJPA not supporting count(*) syntax
> --------------------------------------
>
> Key: OPENJPA-566
> URL: https://issues.apache.org/jira/browse/OPENJPA-566
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 1.0.2
> Environment: Spring 2.5.3, JDK 1.5.
> Reporter: Mathias Bogaert
> Assignee: Pinaki Poddar
> Priority: Blocker
>
> When executing a simple query using the (assumingly) valid count(*) syntax, accepted by Hibernate, OpenJPA throws an exception.
> Caused by: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter 'SELECT count(*) FROM Order instance'. Error message: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.kernel.jpql.ParseException: Encountered "*" at character 14, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "COUNT", "DISTINCT", "LENGTH", "LOCATE", "MAX", "MIN", "MOD", "SELECT", "SIZE", "SQRT", "SUM", <DECIMAL_LITERAL>, <IDENTIFIER>, <INTEGER_LITERAL>].
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1665)
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:1645)
> at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:47)
> at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:144)
> at org.apache.openjpa.datacache.QueryCacheStoreQuery.newCompilation(QueryCacheStoreQuery.java:236)
> at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:651)
> at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:633)
> at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:599)
> at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:661)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1487)
> at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:227)
> at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:277)
> at com.toyota.tme.jpapoc.dao.GenericDaoJpa$7.doInJpa(GenericDaoJpa.java:416)
> at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (OPENJPA-566) OpenJPA not supporting count(*)
syntax
Posted by "Pinaki Poddar (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pinaki Poddar reassigned OPENJPA-566:
-------------------------------------
Assignee: Pinaki Poddar
> OpenJPA not supporting count(*) syntax
> --------------------------------------
>
> Key: OPENJPA-566
> URL: https://issues.apache.org/jira/browse/OPENJPA-566
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 1.0.2
> Environment: Spring 2.5.3, JDK 1.5.
> Reporter: Mathias Bogaert
> Assignee: Pinaki Poddar
> Priority: Blocker
>
> When executing a simple query using the (assumingly) valid count(*) syntax, accepted by Hibernate, OpenJPA throws an exception.
> Caused by: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter 'SELECT count(*) FROM Order instance'. Error message: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.kernel.jpql.ParseException: Encountered "*" at character 14, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "COUNT", "DISTINCT", "LENGTH", "LOCATE", "MAX", "MIN", "MOD", "SELECT", "SIZE", "SQRT", "SUM", <DECIMAL_LITERAL>, <IDENTIFIER>, <INTEGER_LITERAL>].
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1665)
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:1645)
> at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:47)
> at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:144)
> at org.apache.openjpa.datacache.QueryCacheStoreQuery.newCompilation(QueryCacheStoreQuery.java:236)
> at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:651)
> at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:633)
> at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:599)
> at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:661)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1487)
> at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:227)
> at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:277)
> at com.toyota.tme.jpapoc.dao.GenericDaoJpa$7.doInJpa(GenericDaoJpa.java:416)
> at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (OPENJPA-566) OpenJPA not supporting count(*)
syntax
Posted by "Patrick Linskey (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12587422#action_12587422 ]
Patrick Linskey commented on OPENJPA-566:
-----------------------------------------
I do not believe that that is legal JPQL. From spec section 4:
aggregate_expression ::=
{ AVG | MAX | MIN | SUM } ([DISTINCT] state_field_path_expression) |
COUNT ([DISTINCT] identification_variable | state_field_path_expression |
single_valued_association_path_expression)
My read of that is that you have to do things like 'select count(p) from Product p'.
> OpenJPA not supporting count(*) syntax
> --------------------------------------
>
> Key: OPENJPA-566
> URL: https://issues.apache.org/jira/browse/OPENJPA-566
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 1.0.2
> Environment: Spring 2.5.3, JDK 1.5.
> Reporter: Mathias Bogaert
> Priority: Blocker
>
> When executing a simple query using the (assumingly) valid count(*) syntax, accepted by Hibernate, OpenJPA throws an exception.
> Caused by: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter 'SELECT count(*) FROM Order instance'. Error message: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.kernel.jpql.ParseException: Encountered "*" at character 14, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "COUNT", "DISTINCT", "LENGTH", "LOCATE", "MAX", "MIN", "MOD", "SELECT", "SIZE", "SQRT", "SUM", <DECIMAL_LITERAL>, <IDENTIFIER>, <INTEGER_LITERAL>].
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1665)
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:1645)
> at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:47)
> at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:144)
> at org.apache.openjpa.datacache.QueryCacheStoreQuery.newCompilation(QueryCacheStoreQuery.java:236)
> at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:651)
> at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:633)
> at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:599)
> at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:661)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1487)
> at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:227)
> at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:277)
> at com.toyota.tme.jpapoc.dao.GenericDaoJpa$7.doInJpa(GenericDaoJpa.java:416)
> at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (OPENJPA-566) OpenJPA not supporting count(*) syntax
Posted by "Pinaki Poddar (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pinaki Poddar closed OPENJPA-566.
---------------------------------
Resolution: Fixed
count(*) is not supported by JPQL specification.
> OpenJPA not supporting count(*) syntax
> --------------------------------------
>
> Key: OPENJPA-566
> URL: https://issues.apache.org/jira/browse/OPENJPA-566
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 1.0.2
> Environment: Spring 2.5.3, JDK 1.5.
> Reporter: Mathias Bogaert
> Assignee: Pinaki Poddar
> Priority: Blocker
>
> When executing a simple query using the (assumingly) valid count(*) syntax, accepted by Hibernate, OpenJPA throws an exception.
> Caused by: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter 'SELECT count(*) FROM Order instance'. Error message: <openjpa-1.0.2-r420667:627158 nonfatal user error> org.apache.openjpa.kernel.jpql.ParseException: Encountered "*" at character 14, but expected: ["(", "+", "-", ":", "?", "ABS", "AVG", "COUNT", "DISTINCT", "LENGTH", "LOCATE", "MAX", "MIN", "MOD", "SELECT", "SIZE", "SQRT", "SUM", <DECIMAL_LITERAL>, <IDENTIFIER>, <INTEGER_LITERAL>].
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1665)
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:1645)
> at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:47)
> at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:144)
> at org.apache.openjpa.datacache.QueryCacheStoreQuery.newCompilation(QueryCacheStoreQuery.java:236)
> at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:651)
> at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:633)
> at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:599)
> at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:661)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1487)
> at org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:123)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:227)
> at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:277)
> at com.toyota.tme.jpapoc.dao.GenericDaoJpa$7.doInJpa(GenericDaoJpa.java:416)
> at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.