Hi, Oyvind, you may have already done this, but can you linke this to DERBY-310?

Thanks,

David

Oyvind Bakksjo (JIRA) wrote:

Implement Statement.setQueryTimeout in the Client Driver
--------------------------------------------------------

        Key: DERBY-506
        URL: http://issues.apache.org/jira/browse/DERBY-506
    Project: Derby
       Type: New Feature
Components: JDBC Versions: 10.1.1.0 Reporter: Oyvind Bakksjo Assigned to: Oyvind Bakksjo

Currently, the Embedded Driver supports Statement.setQueryTimeout(), but the 
Client Driver does not. The Client Driver should be enhanced and match the 
Embedded Driver.

For this, we need to transfer the timeout value from the client to the server, 
preferably without a separate round-trip. I have some loose thoughts on how to 
do this:

* If the client has set a timeout value for a statement, prepend the (DRDA) EXCSQLSTT command 
with an EXCSQLSET command which contains the timeout value; conceptually a "SET STATEMENT 
TIMEOUT <seconds>" (this does not mean that we need to extend the Derby grammar; 
only the Network Server needs to understand this DRDA EXCSQLSET command).
* In DRDAConnThread.parseEXCSQLSETobjects() on the server side, recognize the "SET 
STATEMENT TIMEOUT" text, parse the timeout value and remember it for the coming 
EXCSQLSTT command. Do NOT invoke executeUpdate() with the SET statement [see note below].
* In DRDAConnThread.parseEXCSQLSTT(), check if a timeout value has been set; if so, use it (by setting the timeout value on the server-side Statement object before calling execute/executeQuery).
begin:vcard
fn:David Van Couvering
n:Van Couvering;David
org:Sun Microsystems, Inc.;Database Technology Group
email;internet:[EMAIL PROTECTED]
title:Senior Staff Software Engineer
tel;work:510-550-6819
tel;cell:510-684-7281
x-mozilla-html:TRUE
version:2.1
end:vcard

Reply via email to