mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Clean up ODBC HAVE_XXX symbols, compile fixes for OpenLink and Solid.
#The Solid support still does not link, though (looks like a side-effect of #the way the Solid libs are named and our stubborn friend libtool). #This can wait until after 4.0b3.
This commit is contained in:
parent
a4ff16dd68
commit
fd056d0c01
6 changed files with 57 additions and 53 deletions
|
@ -1,11 +1,11 @@
|
|||
#define HAVE_SOLID 0
|
||||
#define HAVE_IBMDB2 0
|
||||
#define HAVE_IODBC 0
|
||||
#define HAVE_ESOOB 0
|
||||
#define HAVE_UNIXODBC 0
|
||||
#define HAVE_OPENLINK 0
|
||||
#define HAVE_ADABAS 0
|
||||
#define HAVE_CODBC 0
|
||||
#define HAVE_UODBC 0
|
||||
#define HAVE_EMPRESS 0
|
||||
#define HAVE_VELOCIS 0
|
||||
#undef HAVE_SOLID
|
||||
#undef HAVE_IBMDB2
|
||||
#undef HAVE_IODBC
|
||||
#undef HAVE_ESOOB
|
||||
#undef HAVE_UNIXODBC
|
||||
#undef HAVE_OPENLINK
|
||||
#undef HAVE_ADABAS
|
||||
#undef HAVE_CODBC
|
||||
#undef HAVE_UODBC
|
||||
#undef HAVE_EMPRESS
|
||||
#undef HAVE_VELOCIS
|
||||
|
|
|
@ -80,7 +80,7 @@ if test -z "$ODBC_TYPE"; then
|
|||
AC_MSG_CHECKING(for Solid support)
|
||||
AC_ARG_WITH(solid,
|
||||
[ --with-solid[=DIR] Include Solid support. DIR is the Solid base
|
||||
install directory, defaults to /usr/local/solid],
|
||||
install directory, defaults to /usr/local/solid],
|
||||
[
|
||||
if test "$withval" = "yes"; then
|
||||
withval=/usr/local/solid
|
||||
|
@ -88,13 +88,13 @@ AC_ARG_WITH(solid,
|
|||
if test "$withval" != "no"; then
|
||||
ODBC_INCDIR=$withval/include
|
||||
ODBC_LIBDIR=$withval/lib
|
||||
ODBC_INCLUDE=-I$ODBC_INCDIR
|
||||
ODBC_TYPE=solid
|
||||
AC_DEFINE(HAVE_SOLID)
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_FIND_SOLID_LIBS($ODBC_LIBDIR)
|
||||
ODBC_INCLUDE=-I$ODBC_INCDIR
|
||||
ODBC_TYPE=solid
|
||||
AC_DEFINE(HAVE_SOLID)
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_FIND_SOLID_LIBS($ODBC_LIBDIR)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
|
@ -116,8 +116,8 @@ AC_ARG_WITH(ibm-db2,
|
|||
ODBC_LIBDIR=$withval/lib
|
||||
fi
|
||||
ODBC_INCLUDE=-I$ODBC_INCDIR
|
||||
ODBC_TYPE=db2
|
||||
ODBC_LIBS="-ldb2"
|
||||
ODBC_TYPE=db2
|
||||
ODBC_LIBS="-ldb2"
|
||||
AC_DEFINE(HAVE_IBMDB2)
|
||||
|
||||
AC_MSG_RESULT(yes)
|
||||
|
@ -334,7 +334,7 @@ fi
|
|||
if test -n "$ODBC_TYPE"; then
|
||||
INCLUDES="$INCLUDES $ODBC_INCLUDE"
|
||||
EXTRA_LIBS="$EXTRA_LIBS $ODBC_LFLAGS $ODBC_LIBS"
|
||||
AC_DEFINE(HAVE_UODBC, 1)
|
||||
AC_DEFINE(HAVE_UODBC)
|
||||
AC_SUBST(ODBC_INCDIR)
|
||||
AC_SUBST(ODBC_INCLUDE)
|
||||
AC_SUBST(ODBC_LIBDIR)
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#define HAVE_VELOCIS 1
|
||||
#endif
|
||||
|
||||
#if HAVE_VELOCIS && !HAVE_UODBC
|
||||
#if defined(HAVE_VELOCIS) && !HAVE_UODBC
|
||||
#define UNIX
|
||||
#include <sql.h>
|
||||
#include <sqlext.h>
|
||||
|
|
|
@ -147,7 +147,7 @@ static void _free_odbc_result(odbc_result *res)
|
|||
res->values = NULL;
|
||||
}
|
||||
if (res->stmt) {
|
||||
#if HAVE_SOLID
|
||||
#ifdef HAVE_SOLID
|
||||
SQLTransact(res->conn_ptr->henv, res->conn_ptr->hdbc,
|
||||
(UWORD)SQL_COMMIT);
|
||||
#endif
|
||||
|
@ -536,7 +536,7 @@ int odbc_bindcols(odbc_result *result)
|
|||
result->values[i].value = NULL;
|
||||
break;
|
||||
|
||||
#if HAVE_ADABAS
|
||||
#ifdef HAVE_ADABAS
|
||||
case SQL_TIMESTAMP:
|
||||
result->values[i].value = (char *)emalloc(27);
|
||||
SQLBindCol(result->stmt, (UWORD)(i+1), SQL_C_CHAR, result->values[i].value,
|
||||
|
@ -913,7 +913,7 @@ PHP_FUNCTION(odbc_exec)
|
|||
odbc_result *result = NULL;
|
||||
odbc_connection *conn;
|
||||
RETCODE rc;
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
UDWORD scrollopts;
|
||||
#endif
|
||||
|
||||
|
@ -951,7 +951,7 @@ PHP_FUNCTION(odbc_exec)
|
|||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
/* Solid doesn't have ExtendedFetch, if DriverManager is used, get Info,
|
||||
whether Driver supports ExtendedFetch */
|
||||
rc = SQLGetInfo(conn->hdbc, SQL_FETCH_DIRECTION, (void *) &scrollopts, sizeof(scrollopts), NULL);
|
||||
|
@ -1010,7 +1010,7 @@ PHP_FUNCTION(odbc_fetch_into)
|
|||
RETCODE rc;
|
||||
SWORD sql_c_type;
|
||||
char *buf = NULL;
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
UDWORD crow;
|
||||
UWORD RowStatus[1];
|
||||
SDWORD rownum = -1;
|
||||
|
@ -1066,7 +1066,7 @@ PHP_FUNCTION(odbc_fetch_into)
|
|||
}
|
||||
}
|
||||
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
if (result->fetch_abs) {
|
||||
if (rownum > 0)
|
||||
rc = SQLExtendedFetch(result->stmt,SQL_FETCH_ABSOLUTE,rownum,&crow,RowStatus);
|
||||
|
@ -1079,7 +1079,7 @@ PHP_FUNCTION(odbc_fetch_into)
|
|||
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO)
|
||||
RETURN_FALSE;
|
||||
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
if (rownum > 0 && result->fetch_abs)
|
||||
result->fetched = rownum;
|
||||
else
|
||||
|
@ -1145,7 +1145,7 @@ PHP_FUNCTION(odbc_fetch_into)
|
|||
}
|
||||
/* }}} */
|
||||
|
||||
#if HAVE_SOLID
|
||||
#ifdef HAVE_SOLID
|
||||
PHP_FUNCTION(solid_fetch_prev)
|
||||
{
|
||||
odbc_result *result;
|
||||
|
@ -1181,7 +1181,7 @@ PHP_FUNCTION(odbc_fetch_row)
|
|||
odbc_result *result;
|
||||
RETCODE rc;
|
||||
pval **pv_res, **pv_row;
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
UDWORD crow;
|
||||
UWORD RowStatus[1];
|
||||
#endif
|
||||
|
@ -1204,7 +1204,7 @@ PHP_FUNCTION(odbc_fetch_row)
|
|||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
if (result->fetch_abs) {
|
||||
if (numArgs > 1)
|
||||
rc = SQLExtendedFetch(result->stmt,SQL_FETCH_ABSOLUTE,rownum,&crow,RowStatus);
|
||||
|
@ -1240,7 +1240,7 @@ PHP_FUNCTION(odbc_result)
|
|||
RETCODE rc;
|
||||
SDWORD fieldsize;
|
||||
pval **pv_res, **pv_field;
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
UDWORD crow;
|
||||
UWORD RowStatus[1];
|
||||
#endif
|
||||
|
@ -1289,7 +1289,7 @@ PHP_FUNCTION(odbc_result)
|
|||
|
||||
if (result->fetched == 0) {
|
||||
/* User forgot to call odbc_fetchrow(), let's do it here */
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
if (result->fetch_abs)
|
||||
rc = SQLExtendedFetch(result->stmt, SQL_FETCH_NEXT, 1, &crow,RowStatus);
|
||||
else
|
||||
|
@ -1409,7 +1409,7 @@ PHP_FUNCTION(odbc_result_all)
|
|||
RETCODE rc;
|
||||
pval **pv_res, **pv_format;
|
||||
SWORD sql_c_type;
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
UDWORD crow;
|
||||
UWORD RowStatus[1];
|
||||
#endif
|
||||
|
@ -1429,7 +1429,7 @@ PHP_FUNCTION(odbc_result_all)
|
|||
php_error(E_WARNING, "No tuples available at this result index");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
if (result->fetch_abs)
|
||||
rc = SQLExtendedFetch(result->stmt,SQL_FETCH_NEXT,1,&crow,RowStatus);
|
||||
else
|
||||
|
@ -1509,7 +1509,7 @@ PHP_FUNCTION(odbc_result_all)
|
|||
}
|
||||
php_printf("</tr>\n");
|
||||
|
||||
#if HAVE_SQL_EXTENDED_FETCH
|
||||
#ifdef HAVE_SQL_EXTENDED_FETCH
|
||||
if (result->fetch_abs)
|
||||
rc = SQLExtendedFetch(result->stmt,SQL_FETCH_NEXT,1,&crow,RowStatus);
|
||||
else
|
||||
|
@ -1565,11 +1565,11 @@ int odbc_sqlconnect(odbc_connection **conn, char *db, char *uid, char *pwd, int
|
|||
SQLAllocEnv(&((*conn)->henv));
|
||||
SQLAllocConnect((*conn)->henv, &((*conn)->hdbc));
|
||||
|
||||
#if HAVE_SOLID
|
||||
#ifdef HAVE_SOLID
|
||||
SQLSetConnectOption((*conn)->hdbc, SQL_TRANSLATE_OPTION,
|
||||
SQL_SOLID_XLATOPT_NOCNV);
|
||||
#endif
|
||||
#if HAVE_OPENLINK
|
||||
#ifdef HAVE_OPENLINK
|
||||
{
|
||||
char dsnbuf[300];
|
||||
short dsnbuflen;
|
||||
|
@ -1588,7 +1588,7 @@ int odbc_sqlconnect(odbc_connection **conn, char *db, char *uid, char *pwd, int
|
|||
return FALSE;
|
||||
}
|
||||
}
|
||||
#if HAVE_EMPRESS
|
||||
#ifdef HAVE_EMPRESS
|
||||
{
|
||||
int direct = 0;
|
||||
char dsnbuf[300];
|
||||
|
|
|
@ -45,22 +45,24 @@
|
|||
|
||||
/* checking in the same order as in configure.in */
|
||||
|
||||
#if HAVE_SOLID /* Solid Server */
|
||||
#ifdef HAVE_SOLID /* Solid Server */
|
||||
|
||||
#define ODBC_TYPE "Solid"
|
||||
#include <cli0core.h>
|
||||
#include <cli0ext1.h>
|
||||
#define HAVE_SQL_EXTENDED_FETCH 0
|
||||
#undef HAVE_SQL_EXTENDED_FETCH
|
||||
PHP_FUNCTION(solid_fetch_prev);
|
||||
#define SQLSMALLINT SWORD
|
||||
#define SQLUSMALLINT UWORD
|
||||
|
||||
#elif HAVE_EMPRESS /* Empress */
|
||||
#elif defined(HAVE_EMPRESS) /* Empress */
|
||||
|
||||
#define ODBC_TYPE "Empress"
|
||||
#include <sql.h>
|
||||
#include <sqlext.h>
|
||||
#define HAVE_SQL_EXTENDED_FETCH 0
|
||||
#undef HAVE_SQL_EXTENDED_FETCH
|
||||
|
||||
#elif HAVE_ADABAS /* Adabas D */
|
||||
#elif defined(HAVE_ADABAS) /* Adabas D */
|
||||
|
||||
#define ODBC_TYPE "Adabas D"
|
||||
#include <WINDOWS.H>
|
||||
|
@ -68,7 +70,7 @@ PHP_FUNCTION(solid_fetch_prev);
|
|||
#include <sqlext.h>
|
||||
#define HAVE_SQL_EXTENDED_FETCH 1
|
||||
|
||||
#elif HAVE_IODBC /* iODBC library */
|
||||
#elif defined(HAVE_IODBC) /* iODBC library */
|
||||
|
||||
#define ODBC_TYPE "iODBC"
|
||||
#include <isql.h>
|
||||
|
@ -81,21 +83,21 @@ PHP_FUNCTION(solid_fetch_prev);
|
|||
#define SQL_LEN_DATA_AT_EXEC_OFFSET (-100)
|
||||
#define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
|
||||
|
||||
#elif HAVE_UNIXODBC /* unixODBC library */
|
||||
#elif defined(HAVE_UNIXODBC) /* unixODBC library */
|
||||
|
||||
#define ODBC_TYPE "unixODBC"
|
||||
#include <sql.h>
|
||||
#include <sqlext.h>
|
||||
#define HAVE_SQL_EXTENDED_FETCH 1
|
||||
|
||||
#elif HAVE_ESOOB /* Easysoft ODBC-ODBC Bridge library */
|
||||
#elif defined(HAVE_ESOOB) /* Easysoft ODBC-ODBC Bridge library */
|
||||
|
||||
#define ODBC_TYPE "ESOOB"
|
||||
#include <sql.h>
|
||||
#include <sqlext.h>
|
||||
#define HAVE_SQL_EXTENDED_FETCH 1
|
||||
|
||||
#elif HAVE_OPENLINK /* OpenLink ODBC drivers */
|
||||
#elif defined(HAVE_OPENLINK) /* OpenLink ODBC drivers */
|
||||
|
||||
#define ODBC_TYPE "Openlink"
|
||||
#include <iodbc.h>
|
||||
|
@ -103,8 +105,10 @@ PHP_FUNCTION(solid_fetch_prev);
|
|||
#include <isqlext.h>
|
||||
#include <udbcext.h>
|
||||
#define HAVE_SQL_EXTENDED_FETCH 1
|
||||
#define SQLSMALLINT SWORD
|
||||
#define SQLUSMALLINT UWORD
|
||||
|
||||
#elif HAVE_VELOCIS /* Raima Velocis */
|
||||
#elif defined(HAVE_VELOCIS) /* Raima Velocis */
|
||||
|
||||
#define ODBC_TYPE "Velocis"
|
||||
#define UNIX
|
||||
|
@ -112,13 +116,13 @@ PHP_FUNCTION(solid_fetch_prev);
|
|||
#include <sql.h>
|
||||
#include <sqlext.h>
|
||||
|
||||
#elif HAVE_CODBC /* Custom ODBC */
|
||||
#elif defined(HAVE_CODBC) /* Custom ODBC */
|
||||
|
||||
#define ODBC_TYPE "Custom ODBC"
|
||||
#define HAVE_SQL_EXTENDED_FETCH 1
|
||||
#include <odbc.h>
|
||||
|
||||
#elif HAVE_IBMDB2 /* DB2 CLI */
|
||||
#elif defined(HAVE_IBMDB2) /* DB2 CLI */
|
||||
|
||||
#define ODBC_TYPE "IBM DB2 CLI"
|
||||
#define HAVE_SQL_EXTENDED_FETCH 1
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
# define THREAD_LS
|
||||
#endif
|
||||
|
||||
#if HAVE_VELOCIS
|
||||
#ifdef HAVE_VELOCIS
|
||||
#include "php3_velocis.h"
|
||||
|
||||
function_entry velocis_functions[] = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue