db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@debrunners.com>
Subject Re: Aborting SQL Statements
Date Sat, 19 Feb 2005 15:40:10 GMT
Satheesh Bandaram wrote:


> But I think Derby's client JDBC driver, currently the IBM Universal
> driver, has some support. (I haven't tested it..) IBM recently announced
> contributing a Derby Client to Apache. If this client code is accepted
> and has the implementation for setQueryTimeOut() and cancel(), it might
> be easy to adapt that code to Embed driver as well.

Cancel() is a requirement for setQueryTimeout(), as I think once the
timeout has expired, setQueryTimeout() would just call cancel() or its
underlying logic. Thus if you want to implement these features, you need
to start with cancel.

I don't think the cancel in a network client will help in any way in
implementing cancel() in embedded. The cancel in embedded needs to know
about how queries or statements are executed. A starting point for
investigation would be to see how the engine handles Thread.interrupt().
Currently if a thread is interrupted the session/connection is closed, a
similar mechanism would be needed for cancel. And it might make sense to
change it so that if the thread is interrupted only the active statement
is cancelled, I know the connection closing surprised some Cloudscape
customers.

Dan.


Mime
View raw message