Hi Monty, 

> 
> >>>>> "venu" == venu  <[EMAIL PROTECTED]> writes:
> 
> <cut>
> 
> venu>  MySQL/MyODBC does accept connection timeout. Here is the code 
> venu>  snippet from driver:
> 
> venu>   case SQL_ATTR_CONNECTION_TIMEOUT:
> venu>     DBUG_RETURN(mysql_options(&dbc->mysql, 
> MYSQL_OPT_CONNECT_TIMEOUT,
> venu>             (const char *)((SQLUINTEGER)ValuePtr)));
> venu>     break;
> 
> venu>  So, driver does set correctly. Make a note that, the 
> value '0' means 
> venu>  default in ODBC, and that means no timedout.
> 
> Venu, the above code is slightly wrong:
> 
> To be 100 % correct, it should be:
> 
>   case SQL_ATTR_CONNECTION_TIMEOUT:
>   {
>     uint timeout_argument= *(SQLUINTEGER*) ValuePtr;
>     DBUG_RETURN(mysql_options(&dbc->mysql, MYSQL_OPT_CONNECT_TIMEOUT,
>                               (const char *) &timeout_argument));
>   }

 Small update ..

 This is true if ValuePtr is a SQLUINTEGER *, but it is 
 SQLUINTEGER. 

 Here is the spec contents for this one .. 

 An SQLUINTEGER value corresponding to the number of seconds to 
 wait for any request on the connection to complete before returning 
 to the application. The driver should return SQLSTATE HYT00 (Timeout 
 expired) anytime that it is possible to time out in a situation not 
 associated with query execution or login. 

 If ValuePtr is equal to 0 (the default), there is no timeout. 

 The SQLSetConnectAttr will get the SQLUINTEGER value as: 

 retcode = SQLSetConnectAttr(hdbc, SQL_ATTR_CONNECTION_TIMEOUT, 
                            (void*)5, 0); 

 So, the possible option could be the caller(DM/App) is not passing 
 the correct data to the driver.

 Richard, can you please send us the log file for this, so that 
 it will enable what is happening. I just even tested the behaviour 
 and it just works fine.

Regards, Venu
--
For technical support contracts, go to https://order.mysql.com
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Mr. Venu <[EMAIL PROTECTED]>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, Developer
/_/  /_/\_, /___/\___\_\___/  California, USA
       <___/  www.mysql.com
 



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to