[
https://issues.apache.org/jira/browse/JDO-758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15636889#comment-15636889
]
Craig L Russell edited comment on JDO-758 at 11/18/16 5:29 PM:
---------------------------------------------------------------
Well, size() is not needed because the subquery can include COUNT.
And isEmpty() is not needed because the subquery can include Select(COUNT...)
== 0.
And contains(...) is not needed because the subquery could include the object
id that you would compare to.
I vote to require only aggregates in subqueries. And no method calls on results
of subqueries.
was (Author: clr):
Well, size() is not needed because the subquery can include COUNT.
And isEmpty() is not needed because the subquery can include Selecgt(COUNT...)
== 0.
And contains(...) is not needed because the subquery could include the object
id that you would compare to.
I vote to require only aggregates in subqueries. And no method calls on results
of subqueries.
> 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)