[
https://issues.apache.org/jira/browse/JDO-623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Bouschen updated JDO-623:
---------------------------------
Attachment: JDO-623-tck2-mbo.patch
Attached you find a patch for review adding two new tck2 test classes:
- QueryCancel
- QueryTimeout
I haven't added the two new test classes to the tck conf files. The current
datanuclues JDOQL implementation does not support query canceling and the
alternate implementation of JDOQL that will eventually replace the current one
is not yet finished.
In order to include the test classes add the following lines to the property
jdo.tck.classes in query.conf:
org.apache.jdo.tck.query.api.QueryCancel \
org.apache.jdo.tck.query.api.QueryTimeout
> Query cancel and timeout support
> --------------------------------
>
> Key: JDO-623
> URL: https://issues.apache.org/jira/browse/JDO-623
> Project: JDO
> Issue Type: New Feature
> Components: api2, tck2
> Reporter: Andy Jefferson
> Assignee: Michael Bouschen
> Fix For: JDO 2 maintenance release 3
>
> Attachments: JDO-623-mbo.patch, JDO-623-tck2-mbo.patch,
> pmf_option.patch, query.patch, query_timeout.patch
>
>
> JDO doesn't have a mechanism to stop queries from overrunning. JPA2 now
> allows
> a persistence property to allow timing them out, and most JDO implementations
> have allowed this as an extension since JDO1. It would make sense for JDO
> (2.3) to have the same or a variation. I propose having the following
> Simple PMF property "javax.jdo.option.queryTimeout" to specify the number of
> millisecs (or secs) before any query is timed out. Throw a
> QueryTimeoutException (extends JDOException) when the timeout happens.
> Add methods Query.setTimeout(int), Query.getTimeout() to allow
> setting/retrieving the timeout interval on a per-query basis.
> Add method Query.cancel() to cancel any running query. If an implementation
> doesn't support cancelling of queries then it should throw a
> JDOUnsupportedOptionException. Any query execute() that is cancelled will
> throw a QueryInterruptedException (extends JDOUserException).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.