PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI8_SHARED_MODE,1,[ ])
- AC_DEFINE(HAVE_OCI9,1,[ ])
+
+ dnl These functions are only available in version >= 9.2
+ PHP_CHECK_LIBRARY(clntsh, OCIEnvNlsCreate,
+ [
+ PHP_CHECK_LIBRARY(clntsh, OCINlsCharSetNameToId,
+ [
+ AC_DEFINE(HAVE_OCI_9_2,1,[ ])
+ OCI8_VERSION=9.2
+ ], [], [
+ -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+ ])
+ ], [], [
+ -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+ ])
;;
*)
[
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
], [
- unset ac_cv_func_ocilobistemporary
PHP_CHECK_LIBRARY(ocijdbc8, OCILobIsTemporary,
[
PHP_ADD_LIBRARY(ocijdbc8, 1, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
], [], [
- $OCI8_SHARED_LIBADD
+ -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
])
], [
- $OCI8_SHARED_LIBADD
+ -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
])
PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
oci_session *session = 0, *psession = 0;
OCISvcCtx *svchp = 0;
char *hashed_details;
-#ifdef HAVE_OCI9
+#ifdef HAVE_OCI_9_2
ub2 charsetid = 0;
#endif
TSRMLS_FETCH();
session->server = server;
session->exclusive = exclusive;
-#ifdef HAVE_OCI9
+#ifdef HAVE_OCI_9_2
/* following chunk is Oracle 9i+ ONLY */
if (*charset) {
session->pEnv = OCI(pEnv);
session->charsetId = 0;
-#endif /* HAVE_OCI9 */
+#endif /* HAVE_OCI_9_2 */
/* allocate temporary Service Context */
CALL_OCI_RETURN(OCI(error), OCIHandleAlloc(
return psession;
- CLEANUP:
+CLEANUP:
oci_debug("_oci_open_session: FAILURE -> CLEANUP called");
_oci_close_session(session);
return pserver;
- CLEANUP:
+CLEANUP:
oci_debug("_oci_open_server: FAILURE -> CLEANUP called");
_oci_close_server(server);
RETURN_RESOURCE(connection->id);
- CLEANUP:
+CLEANUP:
oci_debug("oci_do_connect: FAILURE -> CLEANUP called");
if (connection->id) {
RETURN_TRUE;
}
- bail:
+bail:
if (fp != -1) {
close(fp);
}