DataNucleus JIRA is now in read-only mode. Raise any new issues in GitHub against the plugin that it applies to. DataNucleus JIRA will remain for the foreseeable future but will eventually be discontinued
Issue Details (XML | Word | Printable)

Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Andy Jefferson
Reporter: Andy Jefferson
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.
DataNucleus Store RDBMS

JDOQL2 : Improve the logic for determining when to use INNER JOIN or EXISTS for a containsXXX clause

Created: 16/Apr/10 01:25 PM   Updated: 10/Dec/10 07:49 AM   Resolved: 16/Nov/10 06:17 PM
Component/s: Queries
Affects Version/s: None
Fix Version/s: 2.2.0.release

 Description  « Hide
Currently we do a simple check on the filter ... is there a NOT or an OR in the filter and if so use EXISTS, otherwise use INNER JOIN.

What we ought to do is extend this further and see if the only use of OR is using that same variable

e.g a query like
collField.contains(var) && ( == :val1 || == :val2)

would use EXISTS currently, but could reasonable use INNER JOIN

Andy Jefferson made changes - 26/May/10 07:48 PM
Field Original Value New Value
Fix Version/s 2.2.0.release [ 10932 ]
Fix Version/s 2.1.0.release [ 10832 ]
Andy Jefferson added a comment - 16/Nov/10 03:47 PM
User can now define the query extension
as either "SUBQUERY" or "INNERJOIN" and this will control how the contains is handled (i.e same syntax as used in some 1-1 relations)

Andy Jefferson made changes - 16/Nov/10 03:47 PM
Assignee Andy Jefferson [ andy ]
Andy Jefferson added a comment - 16/Nov/10 06:17 PM
Bearing in mind the situations where we should use a subquery, or where we should use INNER JOIN are very hard to define, I'm leaving this til a later release to define further. The user now has a workaround of specifying the link method via query extension

Andy Jefferson made changes - 16/Nov/10 06:17 PM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]
Andy Jefferson made changes - 10/Dec/10 07:49 AM
Status Resolved [ 5 ] Closed [ 6 ]