[ 
http://issues.apache.org/jira/browse/DERBY-506?page=comments#action_12357610 ] 

Satheesh Bandaram commented on DERBY-506:
-----------------------------------------

Thanks for the useful and good patch!! I did a quick review of the code and 
have couple of comments:

   1) Is there any need to keep the am/QueryTimerTask.java still? Since there 
doesn't seem to be any users of this, may be this class could be dropped?
    2) What would happen if a 10.2 client tries to send a SET STATEMENT_TIMEOUT 
statement to a 10.1 server? There doesn't seem to be any mechanism to prevent 
unpleasant events.


> 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.diff, DERBY-506.status
>
> 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