Rick Hillegas wrote:
Hi Dirk,
Yes, Derby does support Statement.setQueryTimeout(), at least as
verified by the Derby regression test
org.apache.derbyTesting.functionTests.tests.lang.SetQueryTimeoutTest.
That's a good defense if you suspect in advance that your queries may
ramble on. It leaves the lingering issue of how to cancel a runaway
query that you (or someone else) didn't limit before the query started.
Correct.
It should be noted though, that your mileage may vary with
setQueryTimeout. I assume that mechanism requires the engine to check a
flag to see if it should abort, and if the code is "stuck" in an area
where there are no such checks you might have to wait longer than the
specified timeout value.
If anyone has been using it, it would be nice to get some feedback on
how well it is working/behaving.
Is it possible to use the same machinery to add support for timing out a
running transaction?
Is this something that would be needed by many users?
I suppose the client (dba, user etc) would normally have an idea whether
the transaction/query will finish in a few seconds or a few days before
issuing it.
regards,
--
Kristian
Hope this helps,
-Rick
Dirk Flachbart wrote:
Doesn't Derby support Statement.setQueryTimeout() ?
Dirk
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> wrote:
A rollback doesn't "cancel" a query. Meaning that you can't stop the
query
until it completes.
The rollback will reverse the results of a transaction after the SQL
statement completes. A query is unaffected because its not a SQL
statement
that changes the database. (query == SELECT, other statements
UPDATE,DELETE,
INSERT, etc ... do change the data.)
So if you start a query, there isn't a way to have some sort of query
timeout or call to prematurely end the query. (Perhaps you need to
consider
threading your app...)
HTH
-Mike
-----Original Message-----
From: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
[mailto:[EMAIL PROTECTED]
Sent: Thursday, October 09, 2008 9:09 PM
To: Derby Discussion
Subject: Re: cancel a running query?
Rick Hillegas <[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED]> writes:
conn.rollback();
Doesn't the rollback block on synchronizion on the connection?
Dag