db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-506) Implement Statement.setQueryTimeout in the Client Driver
Date Mon, 10 Oct 2005 20:24:48 GMT
    [ http://issues.apache.org/jira/browse/DERBY-506?page=comments#action_12331742 ] 

Kathey Marsden commented on DERBY-506:
--------------------------------------


I see your point about  it being similar to the other attributes.   Your approach sounds ok
to me then, especially  since there is just a single error condition which needs to be duplicated
on the client.  

 I only make a bit much of the general point because I have spent many, many, many,  many,
many  cycles in the past dealing with issues created by  roundtrip optimization.  In general
I think a thin client is best and the confusion and bugs created by such optimizations is
rarely worth it, but that is just a general philosophy thing that is not related to this change.


> 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
>     Assignee: Oyvind Bakksjo
>  Attachments: DERBY-506_PRE.diff
>
> 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).


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message