[
https://issues.apache.org/jira/browse/JDO-758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Bouschen resolved JDO-758.
----------------------------------
Resolution: Fixed
The spec has been changed: Subqueries that return single-valued aggregate
results are required to be supported. The effect of defining other result
specifications is not defined.
> What can a subquery return?
> ---------------------------
>
> Key: JDO-758
> URL: https://issues.apache.org/jira/browse/JDO-758
> Project: JDO
> Issue Type: Improvement
> Components: specification
> Affects Versions: JDO 3.1
> Reporter: Tilmann Zäschke
> Priority: Minor
> Fix For: JDO 3.2
>
>
> The current spec specifies that subqueries should support ordering and
> grouping, suggesting that subqueries should be able to return collections of
> results.
> However, a Java {{Collection}} (others are not supported in JDOQL) only
> support {{size()}}, {{isEmpty()}} and {{contains()}}. These three functions
> all return scalars, furthermore, these could all be implemented easily with
> an additional term inside the subquery. Since the current reference
> implementation does not support all these functions, it should be considered
> whether subqueries should at all be required to return collections of objects.
> A similar argument could be made for returning persistent objects from
> subqueries (suggested by required support for 'unique'). Persistent objects
> cannot be used in the parent query, except for accessing their identity, or
> possibly casting them to a persistent type and access a field.
> Can anyone think of a usecase or other argument why subqueries should be able
> to return anything else than scalars/boolean (and possibly single persistent
> objects)?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)