Re: [PHP4BETA] cvs: php4 /ext/odbc/ php_odbc.c

From: Date: Sun, 21 May 2000 20:44:52 +0000
Subject: Re: [PHP4BETA] cvs: php4 /ext/odbc/ php_odbc.c
References: 1 2  Groups: php.version4 
Request: Send a blank email to php-version4+get-15327@lists.php.net to get a copy of this message
Nick Gorham wrote: > > Hmm > > not sure where the "while ( henv != SQL_NULL_HENV )" has come from there, I added > the code to retrieve all the errors, And I think it should be allowed to stay. You > often get a "driver not capable" error when connecting, this hides the real errors > that may happen. When I added this the code read > > #if !defined (HAVE_ADABAS) > do { > #endif > ret = SQLError(henv, conn, stmt, state, > &error, errormsg, sizeof(errormsg)-1, &errormsgsize); > if (func) { > php_error(E_WARNING, "SQL error: %s, SQL state %s in %s", > errormsg, state, func); > } else { > php_error(E_WARNING, "SQL error: %s, SQL state %s", > errormsg, state); > } > #if !defined (HAVE_ADABAS) > } while (SQL_SUCCEEDED(ret)); > #endif > > The !defined HAVE_ADABAS was added later. Would anyone object if it went back to > that state ? > I see your point, but many drivers are buggy regarding SQLError(), since the do ... while above causes them to go into an infinte loop, never returning SQL_NO_DATA_FOUND. This behaviour comes with Adabas (therefore HAVE_ADABAS which has magically dissapeared and was replaced by "while ( henv != SQL_NULL_HENV )" by whoever), DBMaker, and probably Oracle (Win32). I think this "feature" sent IIS on my NT box to Nirvana while testing the 4.0 release binaries ;-). -Andreas

« previous php.version4 (#15327) next »