rename PHP_OCI8_VERSION in preparation for peclversioning RFC. Remove obsolete HAVE_OCI8_ATTR_STATEMENT macro

This commit is contained in:
Christopher Jones 2008-03-25 02:00:32 +00:00
parent 16f6918e0f
commit ceb2193b7c
7 changed files with 33 additions and 45 deletions

View File

@ -55,7 +55,7 @@ AC_DEFUN([AC_OCI8IC_VERSION],[
if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.11.1 not found])
fi
OCI8_VERSION=11.1
OCI8_ORACLE_VERSION=11.1
else
AC_MSG_ERROR([Oracle Instant Client library version not supported])
fi
@ -64,42 +64,42 @@ AC_DEFUN([AC_OCI8IC_VERSION],[
if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
fi
OCI8_VERSION=10.1
OCI8_ORACLE_VERSION=10.1
else
AC_MSG_ERROR([Oracle Instant Client library version not supported])
fi
else
AC_MSG_ERROR([Oracle Instant Client libraries not found])
fi
AC_MSG_RESULT([$OCI8_VERSION])
AC_MSG_RESULT([$OCI8_ORACLE_VERSION])
])
AC_DEFUN([AC_OCI8_VERSION],[
AC_DEFUN([AC_OCI8_ORACLE_VERSION],[
AC_MSG_CHECKING([Oracle version])
if test -s "$OCI8_DIR/orainst/unix.rgs"; then
OCI8_VERSION=`grep '"ocommon"' $OCI8_DIR/orainst/unix.rgs | $PHP_OCI8_SED 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
test -z "$OCI8_VERSION" && OCI8_VERSION=7.3
OCI8_ORACLE_VERSION=`grep '"ocommon"' $OCI8_DIR/orainst/unix.rgs | $PHP_OCI8_SED 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
test -z "$OCI8_ORACLE_VERSION" && OCI8_ORACLE_VERSION=7.3
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.11.1; then
OCI8_VERSION=11.1
OCI8_ORACLE_VERSION=11.1
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
OCI8_VERSION=10.1
OCI8_ORACLE_VERSION=10.1
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.9.0; then
OCI8_VERSION=9.0
OCI8_ORACLE_VERSION=9.0
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.8.0; then
OCI8_VERSION=8.1
OCI8_ORACLE_VERSION=8.1
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.1.0; then
OCI8_VERSION=8.0
OCI8_ORACLE_VERSION=8.0
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.a; then
if test -f $OCI8_DIR/$OCI8_LIB_DIR/libcore4.a; then
OCI8_VERSION=8.0
OCI8_ORACLE_VERSION=8.0
else
OCI8_VERSION=8.1
OCI8_ORACLE_VERSION=8.1
fi
else
AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
fi
AC_MSG_RESULT($OCI8_VERSION)
AC_MSG_RESULT($OCI8_ORACLE_VERSION)
])
@ -200,21 +200,16 @@ if test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
PHP_EVAL_LIBLINE(`cat $OCI8_DIR/rdbms/$OCI8_LIB_DIR/sysliblist`, OCI8_SYSLIB)
fi
AC_OCI8_VERSION($OCI8_DIR)
AC_OCI8_ORACLE_VERSION($OCI8_DIR)
case $OCI8_VERSION in
8.0)
AC_MSG_ERROR([Oracle client libraries < 9.0 are not supported any more. Please consider upgrading.])
;;
8.1)
case $OCI8_ORACLE_VERSION in
7.3|8.0|8.1)
AC_MSG_ERROR([Oracle client libraries < 9.0 are not supported any more. Please consider upgrading.])
;;
9.0)
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
dnl These functions are only available in version >= 9.2
PHP_CHECK_LIBRARY(clntsh, OCIEnvNlsCreate,
@ -222,7 +217,7 @@ if test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
PHP_CHECK_LIBRARY(clntsh, OCINlsCharSetNameToId,
[
AC_DEFINE(HAVE_OCI_ENV_NLS_CREATE,1,[ ])
OCI8_VERSION=9.2
OCI8_ORACLE_VERSION=9.2
], [], [
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
])
@ -250,13 +245,11 @@ if test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
], [], [
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
])
;;
11.1|10.1)
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI_ENV_NLS_CREATE,1,[ ])
AC_DEFINE(HAVE_OCI_ENV_CREATE,1,[ ])
AC_DEFINE(HAVE_OCI_STMT_PREPARE2,1,[ ])
@ -264,8 +257,9 @@ if test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
;;
*)
AC_MSG_ERROR([Oracle version $OCI8_VERSION is not supported])
AC_MSG_ERROR([Oracle version $OCI8_ORACLE_VERSION is not supported])
;;
esac
@ -306,7 +300,7 @@ if test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
PHP_SUBST_OLD(OCI8_DIR)
PHP_SUBST_OLD(OCI8_VERSION)
PHP_SUBST_OLD(OCI8_ORACLE_VERSION)
elif test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
@ -364,7 +358,7 @@ dnl Header directory for manual installation
fi
AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
case $OCI8_VERSION in
case $OCI8_ORACLE_VERSION in
11.1|10.1)
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
@ -376,7 +370,6 @@ dnl Header directory for manual installation
esac
AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI_ENV_NLS_CREATE,1,[ ])
AC_DEFINE(HAVE_OCI_ENV_CREATE,1,[ ])
AC_DEFINE(HAVE_OCI_STMT_PREPARE2,1,[ ])
@ -389,6 +382,6 @@ dnl Header directory for manual installation
PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
PHP_SUBST_OLD(OCI8_DIR)
PHP_SUBST_OLD(OCI8_VERSION)
PHP_SUBST_OLD(OCI8_ORACLE_VERSION)
fi

View File

@ -13,7 +13,6 @@ if (PHP_OCI8 != "no") {
AC_DEFINE('HAVE_OCI8', 1);
AC_DEFINE('HAVE_OCI_INSTANT_CLIENT', 1);
AC_DEFINE('HAVE_OCI8_ATTR_STATEMENT', 1);
AC_DEFINE('HAVE_OCI_ENV_NLS_CREATE', 1);
AC_DEFINE('HAVE_OCI_ENV_CREATE', 1);
AC_DEFINE('HAVE_OCI_STMT_PREPARE2', 1);
@ -22,7 +21,7 @@ if (PHP_OCI8 != "no") {
AC_DEFINE('PHP_OCI8_HAVE_COLLECTIONS', 1);
} else {
WARNING("oci8 not enabled; libraries and headers not found");
WARNING("oci8 not enabled; Oracle Database libraries or Oracle 10g Instant Client not found");
}
}

View File

@ -715,7 +715,7 @@ PHP_MINFO_FUNCTION(oci)
php_info_print_table_start();
php_info_print_table_row(2, "OCI8 Support", "enabled");
php_info_print_table_row(2, "Version", "1.3.1 Beta");
php_info_print_table_row(2, "Version", PHP_OCI8_VERSION);
php_info_print_table_row(2, "Revision", "$Revision$");
snprintf(buf, sizeof(buf), "%ld", OCI_G(num_persistent));
@ -724,7 +724,7 @@ PHP_MINFO_FUNCTION(oci)
php_info_print_table_row(2, "Active Connections", buf);
#if !defined(PHP_WIN32) && !defined(HAVE_OCI_INSTANT_CLIENT)
php_info_print_table_row(2, "Oracle Version", PHP_OCI8_VERSION );
php_info_print_table_row(2, "Oracle Version", PHP_OCI8_ORACLE_VERSION );
php_info_print_table_row(2, "Compile-time ORACLE_HOME", PHP_OCI8_DIR );
php_info_print_table_row(2, "Libraries Used", PHP_OCI8_SHARED_LIBADD );
#else
@ -1019,7 +1019,6 @@ sb4 php_oci_fetch_errmsg(OCIError *error_handle, text **error_buf TSRMLS_DC)
return error_code;
} /* }}} */
#ifdef HAVE_OCI8_ATTR_STATEMENT
/* {{{ php_oci_fetch_sqltext_offset()
Compute offset in the SQL statement */
int php_oci_fetch_sqltext_offset(php_oci_statement *statement, text **sqltext, ub2 *error_offset TSRMLS_DC)
@ -1044,7 +1043,6 @@ int php_oci_fetch_sqltext_offset(php_oci_statement *statement, text **sqltext, u
}
return 0;
} /* }}} */
#endif
/* {{{ php_oci_do_connect()
Connect wrapper */

View File

@ -1598,10 +1598,8 @@ PHP_FUNCTION(oci_error)
sb4 errcode = 0;
sword error = OCI_SUCCESS;
dvoid *errh = NULL;
#ifdef HAVE_OCI8_ATTR_STATEMENT
ub2 error_offset = 0;
text *sqltext = NULL;
#endif
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &arg) == FAILURE) {
return;
@ -1614,11 +1612,9 @@ PHP_FUNCTION(oci_error)
errh = statement->err;
error = statement->errcode;
#ifdef HAVE_OCI8_ATTR_STATEMENT
if (php_oci_fetch_sqltext_offset(statement, &sqltext, &error_offset TSRMLS_CC)) {
RETURN_FALSE;
}
#endif
goto go_out;
}
@ -1656,10 +1652,8 @@ go_out:
array_init(return_value);
add_assoc_long(return_value, "code", errcode);
add_assoc_string(return_value, "message", (char*) errbuf, 0);
#ifdef HAVE_OCI8_ATTR_STATEMENT
add_assoc_long(return_value, "offset", error_offset);
add_assoc_string(return_value, "sqltext", sqltext ? (char *) sqltext : "", 1);
#endif
} else {
RETURN_FALSE;
}

View File

@ -35,6 +35,12 @@
# include "TSRM.h"
#endif
/*
* The version of the OCI8 extension.
*/
#define PHP_OCI8_VERSION "1.3.1 Beta"
extern zend_module_entry oci8_module_entry;
#define phpext_oci8_ptr &oci8_module_entry

View File

@ -349,9 +349,7 @@ int php_oci_descriptor_delete_from_hash(void *data, void *id TSRMLS_DC);
sb4 php_oci_error (OCIError *, sword TSRMLS_DC);
sb4 php_oci_fetch_errmsg(OCIError *, text ** TSRMLS_DC);
#ifdef HAVE_OCI8_ATTR_STATEMENT
int php_oci_fetch_sqltext_offset(php_oci_statement *, text **, ub2 * TSRMLS_DC);
#endif
void php_oci_do_connect (INTERNAL_FUNCTION_PARAMETERS, int , int);
php_oci_connection *php_oci_do_connect_ex(char *username, int username_len, char *password, int password_len, char *new_password, int new_password_len, char *dbname, int dbname_len, char *charset, long session_mode, int persistent, int exclusive TSRMLS_DC);

View File

@ -53,7 +53,7 @@
#define PHP_ODBC_TYPE "@ODBC_TYPE@"
#define PHP_OCI8_SHARED_LIBADD "@OCI8_SHARED_LIBADD@"
#define PHP_OCI8_DIR "@OCI8_DIR@"
#define PHP_OCI8_VERSION "@OCI8_VERSION@"
#define PHP_OCI8_ORACLE_VERSION "@OCI8_ORACLE_VERSION@"
#define PHP_ORACLE_SHARED_LIBADD "@ORACLE_SHARED_LIBADD@"
#define PHP_ORACLE_DIR "@ORACLE_DIR@"
#define PHP_ORACLE_VERSION "@ORACLE_VERSION@"