Browse Source

Added support for Shared Data Mode for OCI8_VERSION >= 8.1, which will provide memory savings by sharing common statement data

PHP-5
Levi Dixon 24 years ago
parent
commit
beb7476ba9
  1. 2
      ext/oci8/config.m4
  2. 12
      ext/oci8/oci8.c

2
ext/oci8/config.m4

@ -74,6 +74,7 @@ if test "$PHP_OCI8" != "no"; then
PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI8_SHARED_MODE,1,[ ])
;;
9.0)
@ -84,6 +85,7 @@ if test "$PHP_OCI8" != "no"; then
PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI8_SHARED_MODE,1,[ ])
AC_DEFINE(HAVE_OCI9,1,[ ])
;;

12
ext/oci8/oci8.c

@ -464,12 +464,24 @@ PHP_MINIT_FUNCTION(oci)
zend_class_entry oci_coll_class_entry;
#endif
#ifdef HAVE_OCI8_SHARED_MODE
#ifdef WITH_COLLECTIONS
#define PHP_OCI_INIT_MODE OCI_SHARED | OCI_OBJECT
#else
#define PHP_OCI_INIT_MODE OCI_SHARED
#endif
#else
#ifdef WITH_COLLECTIONS
#define PHP_OCI_INIT_MODE OCI_DEFAULT | OCI_OBJECT
#else
#define PHP_OCI_INIT_MODE OCI_DEFAULT
#endif
#endif
#if OCI_USE_EMALLOC
OCIInitialize(PHP_OCI_INIT_MODE, NULL, ocimalloc, ocirealloc, ocifree);
#else

Loading…
Cancel
Save