[PHP-DEV] Bug #10549: Performance problem with Openlink ODBC drivers From: a.vdvelden <email protected>
Date: 04/29/01

From: a.vdvelden <email protected>
Operating system: Suse Linux 6.2
PHP version: 4.0.4pl1
PHP Bug Type: Performance problem
Bug description: Performance problem with Openlink ODBC drivers

Hello,

I've experienced a compilation error and some huge performance problems setting up an ODBC connection via Openlink ODBC drivers.

I've configured my Php:

./configure --with-openlink=/usr/src/openlink

When compiling Php, it complains about missing the iodbc.h udbcext.h header files which are not included in the SDK software package of Openlink.

When I remove the two above include files from ./ext/odbc/php_odbc.h line 125 128 the compilation works fine without errors or warnings, and am able to etablish a connection to my Openlink drivers.

When I query my DB from out of Php via Openlink, a simple query takes huges amounts of time, while the same query is very fast using the included odbctest utility from the Openlink SDK package.

I've run a query via Php and the odbctest utility and compared the two debug files and saw that Php uses the ExtendedSQLFetch C- function. The odbctest utility uses an 'normal' SQLFetch function.

So I have changed my ./ext/odbc/php_odbc.h file line 124 from:

#elif defined(HAVE_OPENLINK) /* OpenLink ODBC drivers */

#define ODBC_TYPE "Openlink"
#include <iodbc.h>
#include <isql.h>
#include <isqlext.h>
#include <udbcext.h>
#define HAVE_SQL_EXTENDED_FETCH 1
#define SQLSMALLINT SWORD
#define SQLUSMALLINT UWORD

to:

#elif defined(HAVE_OPENLINK) /* OpenLink ODBC drivers */

#define ODBC_TYPE "Openlink"
// #include <iodbc.h>
#include <isql.h>
#include <isqlext.h>
// #include <udbcext.h>
// #define HAVE_SQL_EXTENDED_FETCH 1
#undef HAVE_SQL_EXTENDED_FETCH
#define SQLSMALLINT SWORD
#define SQLUSMALLINT UWORD

 
With this small change I was able to compile my Php succesfully and query my Database via the Openlink Package very fast!

Regards,

Anne van der Velden
Correct Express
The Netherlands

-- 
Edit Bug report at: http://bugs.php.net/?id=10549&edit=1

-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>