[ 
https://issues.apache.org/jira/browse/OPENJPA-478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603354#action_12603354
 ] 

Milosz Tylenda commented on OPENJPA-478:
----------------------------------------

The JPA spec says:

"If there is no GROUP BY clause and the HAVING clause is used, the result is 
treated as a single group,
and the select list can only consist of aggregate functions. The use of HAVING 
in the absence of
GROUP BY is not required to be supported by an implementation of this 
speciļ¬cation. Portable appli-
cations should not rely on HAVING without the use of GROUP BY."

If OpenJPA does not allow HAVING without GROUP BY, the paragraph in question 
could be changed to something like:

"OpenJPA requires that if a query declares a HAVING clause, it must also 
declare a GROUP BY clause."


> contradictory text in manual section 10.2.6. JPQL GROUP BY, HAVING
> ------------------------------------------------------------------
>
>                 Key: OPENJPA-478
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-478
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: docs
>         Environment: linux, firefox, etc..
>            Reporter: Andy Schlaikjer
>
> In section 10.2.6. JPQL GROUP BY, HAVING 
> (http://openjpa.apache.org/docs/latest/manual/jpa_langref.html#jpa_langref_group)
>  the last paragraph seems contradictory:
> """
> If there is no GROUP BY clause and the HAVING  clause is used, the result is 
> treated as a single group, and the select list can only consist of aggregate 
> functions. When a query declares a HAVING clause, it must always also declare 
> a GROUP BY clause.
> """
> The first sentences seems to imply that a query may incorporate a HAVING 
> clause without a GROUP BY clause, but the second sentence indicates otherwise.
> Looking at section 10.2.12 JPQL BNF 
> (http://openjpa.apache.org/docs/latest/manual/jpa_langref.html#jpa_langref_bnf),
>  it seems as though the BNF contradicts the last sentence:
> """
> select_statement ::= select_clause from_clause [where_clause] 
> [groupby_clause] [having_clause] [orderby_clause]
> """
> otherwise the BNF would be something like this:
> select_statement ::= select_clause from_clause [where_clause] [groupby_clause 
> [having_clause]] [orderby_clause]

-- 
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