Re: DBD::ODBC - default timeout is 30 seconds instead of none
- From: martin.evans@xxxxxxxxxxxx (Martin Evans)
- Date: Thu, 21 Feb 2008 09:58:40 +0000
Dino Kern wrote:
Hello,
I'm using DBD::ODBC Version 1.13 and had following problem:
Te connection timed out after exactly 30 seconds even when
"odbc_query_timeout" was not set.
According to the documentation there should be no timeout in this case.
After setting the timeout to a higher value it worked.
Maybe the documentation has to be rectified to:
"Default timeout is 30 second".
Best regards,
Dino
Don't confuse connection timeout and query timeout - they are not the same. Connection timeout only applies to non login and query execution ODBC APIS.
The default in DBD::ODBC is actually to not set it at all because the current DBD::ODBC code sets the default internal variable odbc_query_timeout to 0 and then does:
if (imp_dbh->odbc_query_timeout) {
ret = odbc_set_query_timeout(dbh, stmt,
imp_dbh->odbc_query_timeout);
}
in the execdirect and prepare methods which obviously does not get run if odbc_query_timeout is 0.
The ODBC spec says:
o the default is 0 which is no timeout
o the driver may implement minimum and maximum values the timeout may be set to.
so not setting the query timeout should use the default of 0 or no timeout. I believe the DBD::ODBC code is correct in this other than if you were to set it to N (where N <> 0) then set it to 0, the second set would not get executed - I will rectify this.
I suspect the ODBC driver you are using is defaulting it to 30 as DBD::ODBC is not setting the timeout by default.
I will attempt to make this clearer in the pod for the next DBD::ODBC.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
.
- References:
- DBD::ODBC - default timeout is 30 seconds instead of none
- From: Dino Kern
- DBD::ODBC - default timeout is 30 seconds instead of none
- Prev by Date: Re: make error-> ld: Unrecognized argument: -Wl,+b...
- Next by Date: Re: Redefinition of target errors
- Previous by thread: DBD::ODBC - default timeout is 30 seconds instead of none
- Index(es):
Relevant Pages
|
|