[ 
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

Reply via email to