PHP 4.0 Bug #9272 Updated: odbc_close issues warning on persistent connection (includes patch)
| From: | kalowsky@php.net | Date: | Tue, 27 Mar 2001 14:22:34 +0000 |
| Subject: | PHP 4.0 Bug #9272 Updated: odbc_close issues warning on persistent connection (includes patch) | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-50061@lists.php.net to get a copy of this message | ||
ID: 9272
Updated by: kalowsky
Reported By: marc@guidance.nl
Old-Status: Open
Status: Closed
Bug Type: ODBC related
Assigned To:
Comments:
patch applied...
Previous Comments:
---------------------------------------------------------------------------
[2001-02-15 05:35:13] marc@guidance.nl
If I open a persistent odbc connection and close it later I
get a warning even though the function works correctly.
The following script reproduces this:
$odbchandle = odbc_pconnect($dbname, "", "");
echo odbc_tables($odbchandle) . "<br>";
echo odbc_close($odbchandle) . "<br>";
result:
Warning: Supplied resource is not a valid ODBC-Link
resource in f:homedbxhtmldbx.php on line XXX
If I use odbc_connect in the same script it all works ok.
In the odbc source code I traced this to the following lines from php_odbc.c, in
PHP_FUNCTION(odbc_close):
conn = (odbc_connection *) zend_fetch_resource(pv_conn,
-1, "ODBC-Link", NULL, 1, le_conn);
if(!conn){
ZEND_FETCH_RESOURCE(conn, odbc_connection *, pv_conn,
-1, "ODBC-Link", le_pconn);
is_pconn = 1;
}
As you can see the first line will issue the warning, and if it fails it detects that it might be a
persistent connection and continues correctly.
A replacement patch for these lines might be
int found_resource_type = le_conn;
conn = (odbc_connection *) zend_fetch_resource(pv_conn,
-1, "ODBC-Link", &found_resource_type,
2, le_conn, le_pconn);
if (found_resource_type==le_pconn) {
is_pconn = 1;
}
but I don't know how to submit a patch/diff so here it is.
Cheerio, Marc.
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9272&edit=2