You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Rick Curtis (JIRA)" <ji...@apache.org> on 2010/09/15 15:50:32 UTC
[jira] Commented: (OPENJPA-1794) Result of aggregate function MAX
is 0 on empty table (instead of NULL).
[ https://issues.apache.org/jira/browse/OPENJPA-1794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909731#action_12909731 ]
Rick Curtis commented on OPENJPA-1794:
--------------------------------------
Per the spec :
> If SUM, AVG, MAX, or MIN is used, and there are no values to which the aggregate function can be applied, the result of the aggregate function is NULL.
Something else to muddy the waters....
> The Java type that is contained in the result of a query using an aggregate function is as follows:
> ...
> *MAX, MIN return the type of the state field to which they are applied.
In the example detailed above, lets say the p.pk field is a primitive long... A NULL primitive is zero so in that case, it would appear that we are working properly. If p.pk is a java.lang.Long, we are not.
> Result of aggregate function MAX is 0 on empty table (instead of NULL).
> -----------------------------------------------------------------------
>
> Key: OPENJPA-1794
> URL: https://issues.apache.org/jira/browse/OPENJPA-1794
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 2.0.0
> Reporter: Vera Filippova
>
> Below is a snippet of a test case... the max should be null, but is zero.
> Object count = em.createQuery("Select count(p.pk) from Entity1 p where 1=1").getSingleResult();
> Object max = em.createQuery("Select max(p.pk) from Entity1 p where 1=1").getSingleResult();
> System.out.println("count:"+count+ " max:"+max);
> > count:0 max:0
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.