php-src/ext/oci8/package.xml
Christopher Jones 2769ae0444 1. Introduce connection attribute functions:
oci_set_module_name
         oci_set_action
         oci_set_client_info
         oci_set_client_identifier
      
       These functions set values that are visible and used by the
       database.  They aid tracing, authentication and auditing.

    2. Introduce connection attribute function:

         oci_set_edition

       Oracle 11g R2 "editions" allow multiple versions of DB objects
       to exist at one time.  By setting different editions, two
       different versions of an application can run concurrently,
       making upgrades or A/B testing easier.

    3. Introduce OCI_NO_AUTO_COMMIT as an alias for the OCI_DEFAULT
       constant (which is not the default value) used by oci_execute().

    4. Allow the oci_set_prefetch value to be 0.  This is important in
       some cases using REF CURSORS in Oracle 11gR2.

    5. Set the DRIVER_NAME attribute of Oracle Database 11gR2
       connections to aid application tracing.  The value used is to
       "PHP OCI8" followed by the OCI8 version number.  Note the
       version number may get truncated in DB views such as
       v$session_connect_info.

    6. Generate an error if an invalid resource type is used in
       oci_bind_by_name

[DOC] Documentation will be added for the changes
2009-10-06 22:36:32 +00:00

691 lines
27 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.4.11" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
http://pear.php.net/dtd/tasks-1.0.xsd
http://pear.php.net/dtd/package-2.0
http://pear.php.net/dtd/package-2.0.xsd">
<name>oci8</name>
<channel>pecl.php.net</channel>
<summary>Extension for Oracle Database</summary>
<description>This extension allows you to access Oracle databases using the Oracle Call Interface (OCI8). It can be built with PHP 4.3.9 to 5.x. It can be linked with Oracle 9.2, 10.2, 11.1, or 11.2 client libraries.
</description>
<lead>
<name>Christopher Jones</name>
<user>sixd</user>
<email>sixd@php.net</email>
<active>yes</active>
</lead>
<lead>
<name>Antony Dovgal</name>
<user>tony2001</user>
<email>tony2001@php.net</email>
<active>yes</active>
</lead>
<lead>
<name>Wez Furlong</name>
<user>wez</user>
<email>wez@php.net</email>
<active>no</active>
</lead>
<lead>
<name>Andi Gutmans</name>
<user>andi</user>
<email>andi@zend.com</email>
<active>no</active>
</lead>
<date>2009-10-06</date>
<time>15:00:00</time>
<version>
<release>1.4.0</release>
<api>1.4.0</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
1. Introduce connection attribute functions:
oci_set_module_name
oci_set_action
oci_set_client_info
oci_set_client_identifier
These set values that are visible/used by the database. They
are useful for tracing, authentication and auditing.
2. Introduce connection attribute function:
oci_set_edition
Oracle 11g R2 "editions" allow multiple versions of DB objects
to exist at one time. By setting different editions, two
different versions of an application can run concurrently,
making upgrading easier and faster.
3. Set the DRIVER_NAME attribute of Oracle Database 11gR2
connections to aid application tracing. The value used is to
"PHP OCI8" followed by the OCI8 version number. Note the
version number may get truncated in DB views such as
v$session_connect_info.
4. Allow the oci_set_prefetch value to be 0. This is important in
some cases using REF CURSORS in Oracle 11gR2.
5. Introduce OCI_NO_AUTO_COMMIT as an alias for the OCI_DEFAULT
constant (which is not the default value) used by oci_execute().
6. Generate an error if an invalid resource type is used in
oci_bind_by_name
</notes>
<contents>
<dir name="/">
<dir name="tests">
<file name="array_bind_001.phpt" role="test" />
<file name="array_bind_002.phpt" role="test" />
<file name="array_bind_003.phpt" role="test" />
<file name="array_bind_004.phpt" role="test" />
<file name="array_bind_005.phpt" role="test" />
<file name="array_bind_006.phpt" role="test" />
<file name="array_bind_007.phpt" role="test" />
<file name="array_bind_008.phpt" role="test" />
<file name="array_bind_009.phpt" role="test" />
<file name="array_bind_010.phpt" role="test" />
<file name="array_bind_011.phpt" role="test" />
<file name="array_bind_012.phpt" role="test" />
<file name="array_bind_013.phpt" role="test" />
<file name="array_bind_014.phpt" role="test" />
<file name="array_bind_date1.phpt" role="test" />
<file name="array_bind_date.phpt" role="test" />
<file name="array_bind_float1.phpt" role="test" />
<file name="array_bind_float.phpt" role="test" />
<file name="array_bind_int1.phpt" role="test" />
<file name="array_bind_int.phpt" role="test" />
<file name="array_bind_str1.phpt" role="test" />
<file name="array_bind_str.phpt" role="test" />
<file name="b47243_1.phpt" role="test" />
<file name="b47243_2.phpt" role="test" />
<file name="b47243_3.phpt" role="test" />
<file name="bind_char_1.phpt" role="test" />
<file name="bind_char_2.phpt" role="test" />
<file name="bind_char_3.phpt" role="test" />
<file name="bind_char_4.phpt" role="test" />
<file name="bind_empty.phpt" role="test" />
<file name="bind_error.phpt" role="test" />
<file name="bind_long.phpt" role="test" />
<file name="bind_long_raw.phpt" role="test" />
<file name="bind_raw.phpt" role="test" />
<file name="bug26133.phpt" role="test" />
<file name="bug27303_2.phpt" role="test" />
<file name="bug27303_3.phpt" role="test" />
<file name="bug27303_4.phpt" role="test" />
<file name="bug27303.phpt" role="test" />
<file name="bug32325.phpt" role="test" />
<file name="bug35973.phpt" role="test" />
<file name="bug36010.phpt" role="test" />
<file name="bug36096.phpt" role="test" />
<file name="bug37220.phpt" role="test" />
<file name="bug37581.phpt" role="test" />
<file name="bug38161.phpt" role="test" />
<file name="bug38173.phpt" role="test" />
<file name="bug40078.phpt" role="test" />
<file name="bug40415.phpt" role="test" />
<file name="bug41069.phpt" role="test" />
<file name="bug42134.phpt" role="test" />
<file name="bug42173.phpt" role="test" />
<file name="bug42496_1.phpt" role="test" />
<file name="bug42496_2.phpt" role="test" />
<file name="bug42841.phpt" role="test" />
<file name="bug43492_2.phpt" role="test" />
<file name="bug43492.phpt" role="test" />
<file name="bug43497_92.phpt" role="test" />
<file name="bug43497.phpt" role="test" />
<file name="bug44008.phpt" role="test" />
<file name="bug44113.phpt" role="test" />
<file name="bug44206.phpt" role="test" />
<file name="bug45458.phpt" role="test" />
<file name="bug46994.phpt" role="test" />
<file name="bug47189.phpt" role="test" />
<file name="bug6109.phpt" role="test" />
<file name="close.phpt" role="test" />
<file name="coll_001.phpt" role="test" />
<file name="coll_002_func.phpt" role="test" />
<file name="coll_002.phpt" role="test" />
<file name="coll_003_func.phpt" role="test" />
<file name="coll_003.phpt" role="test" />
<file name="coll_004_func.phpt" role="test" />
<file name="coll_004.phpt" role="test" />
<file name="coll_005.phpt" role="test" />
<file name="coll_006_func.phpt" role="test" />
<file name="coll_006.phpt" role="test" />
<file name="coll_007.phpt" role="test" />
<file name="coll_008.phpt" role="test" />
<file name="coll_009_func.phpt" role="test" />
<file name="coll_009.phpt" role="test" />
<file name="coll_010_func.phpt" role="test" />
<file name="coll_010.phpt" role="test" />
<file name="coll_011_func.phpt" role="test" />
<file name="coll_011.phpt" role="test" />
<file name="coll_012_func.phpt" role="test" />
<file name="coll_012.phpt" role="test" />
<file name="coll_013_func.phpt" role="test" />
<file name="coll_013.phpt" role="test" />
<file name="coll_014_func.phpt" role="test" />
<file name="coll_014.phpt" role="test" />
<file name="coll_015_func.phpt" role="test" />
<file name="coll_015.phpt" role="test" />
<file name="coll_016_func.phpt" role="test" />
<file name="coll_016.phpt" role="test" />
<file name="coll_017_func.phpt" role="test" />
<file name="coll_017.phpt" role="test" />
<file name="coll_018.phpt" role="test" />
<file name="coll_019.phpt" role="test" />
<file name="commit_old.phpt" role="test" />
<file name="commit.phpt" role="test" />
<file name="conn_attr_1.phpt" role="test" />
<file name="conn_attr_2.phpt" role="test" />
<file name="conn_attr_3.phpt" role="test" />
<file name="conn_attr_4.phpt" role="test" />
<file name="conn_attr_5.phpt" role="test" />
<file name="conn_attr.inc" role="test" />
<file name="connect_1_old.phpt" role="test" />
<file name="connect_1.phpt" role="test" />
<file name="connect.inc" role="test" />
<file name="connect_old.phpt" role="test" />
<file name="connect.phpt" role="test" />
<file name="connect_scope1.phpt" role="test" />
<file name="connect_scope2.phpt" role="test" />
<file name="connect_scope_try1.phpt" role="test" />
<file name="connect_scope_try2.phpt" role="test" />
<file name="connect_scope_try3.phpt" role="test" />
<file name="connect_scope_try4.phpt" role="test" />
<file name="connect_scope_try5.phpt" role="test" />
<file name="connect_scope_try6.phpt" role="test" />
<file name="connect_with_charset_001.phpt" role="test" />
<file name="connect_without_oracle_home_old.phpt" role="test" />
<file name="connect_without_oracle_home.phpt" role="test" />
<file name="create_table.inc" role="test" />
<file name="create_type.inc" role="test" />
<file name="cursor_bind_err.phpt" role="test" />
<file name="cursor_bind.phpt" role="test" />
<file name="cursors_old.phpt" role="test" />
<file name="cursors.phpt" role="test" />
<file name="debug.phpt" role="test" />
<file name="default_prefetch1.phpt" role="test" />
<file name="default_prefetch2.phpt" role="test" />
<file name="default_prefetch.phpt" role="test" />
<file name="define1.phpt" role="test" />
<file name="define2.phpt" role="test" />
<file name="define3.phpt" role="test" />
<file name="define4.phpt" role="test" />
<file name="define5.phpt" role="test" />
<file name="define_old.phpt" role="test" />
<file name="define.phpt" role="test" />
<file name="descriptors.phpt" role="test" />
<file name="details.inc" role="test" />
<file name="drcp_cclass1.phpt" role="test" />
<file name="drcp_characterset.phpt" role="test" />
<file name="drcp_conn_close1.phpt" role="test" />
<file name="drcp_conn_close2.phpt" role="test" />
<file name="drcp_connect1.phpt" role="test" />
<file name="drcp_connection_class.phpt" role="test" />
<file name="drcp_functions.inc" role="test" />
<file name="drcp_newconnect.phpt" role="test" />
<file name="drcp_pconn_close1.phpt" role="test" />
<file name="drcp_pconn_close2.phpt" role="test" />
<file name="drcp_privileged.phpt" role="test" />
<file name="drcp_scope1.phpt" role="test" />
<file name="drcp_scope2.phpt" role="test" />
<file name="drcp_scope3.phpt" role="test" />
<file name="drcp_scope4.phpt" role="test" />
<file name="drcp_scope5.phpt" role="test" />
<file name="driver_name.phpt" role="test" />
<file name="drop_table.inc" role="test" />
<file name="drop_type.inc" role="test" />
<file name="edition_1.phpt" role="test" />
<file name="edition_2.phpt" role="test" />
<file name="error1.phpt" role="test" />
<file name="error2.phpt" role="test" />
<file name="error_old.phpt" role="test" />
<file name="error.phpt" role="test" />
<file name="exec_fetch.phpt" role="test" />
<file name="execute_mode.phpt" role="test" />
<file name="extauth_01.phpt" role="test" />
<file name="extauth_02.phpt" role="test" />
<file name="extauth_03.phpt" role="test" />
<file name="extauth_04.phpt" role="test" />
<file name="fetch_all2.phpt" role="test" />
<file name="fetch_all3.phpt" role="test" />
<file name="fetch_all.phpt" role="test" />
<file name="fetch_array.phpt" role="test" />
<file name="fetch_assoc.phpt" role="test" />
<file name="fetch_into1.phpt" role="test" />
<file name="fetch_into2.phpt" role="test" />
<file name="fetch_into.phpt" role="test" />
<file name="fetch_object.phpt" role="test" />
<file name="fetch.phpt" role="test" />
<file name="fetch_row.phpt" role="test" />
<file name="field_funcs1.phpt" role="test" />
<file name="field_funcs2.phpt" role="test" />
<file name="field_funcs_old.phpt" role="test" />
<file name="field_funcs.phpt" role="test" />
<file name="function_aliases.phpt" role="test" />
<file name="lob_001.phpt" role="test" />
<file name="lob_002.phpt" role="test" />
<file name="lob_003.phpt" role="test" />
<file name="lob_004.phpt" role="test" />
<file name="lob_005.phpt" role="test" />
<file name="lob_006.phpt" role="test" />
<file name="lob_007.phpt" role="test" />
<file name="lob_008.phpt" role="test" />
<file name="lob_009.phpt" role="test" />
<file name="lob_009.txt" role="test" />
<file name="lob_010.phpt" role="test" />
<file name="lob_011.phpt" role="test" />
<file name="lob_012.phpt" role="test" />
<file name="lob_013.phpt" role="test" />
<file name="lob_014.phpt" role="test" />
<file name="lob_015.phpt" role="test" />
<file name="lob_016.phpt" role="test" />
<file name="lob_017.phpt" role="test" />
<file name="lob_018.phpt" role="test" />
<file name="lob_019.phpt" role="test" />
<file name="lob_020.phpt" role="test" />
<file name="lob_021.phpt" role="test" />
<file name="lob_022.phpt" role="test" />
<file name="lob_023.phpt" role="test" />
<file name="lob_024.phpt" role="test" />
<file name="lob_025.phpt" role="test" />
<file name="lob_026.phpt" role="test" />
<file name="lob_027.phpt" role="test" />
<file name="lob_028.phpt" role="test" />
<file name="lob_029.phpt" role="test" />
<file name="lob_030.phpt" role="test" />
<file name="lob_031.phpt" role="test" />
<file name="lob_032.phpt" role="test" />
<file name="lob_033.phpt" role="test" />
<file name="lob_034.phpt" role="test" />
<file name="lob_035.phpt" role="test" />
<file name="lob_036.phpt" role="test" />
<file name="lob_037.phpt" role="test" />
<file name="lob_038.phpt" role="test" />
<file name="lob_039.phpt" role="test" />
<file name="lob_040.phpt" role="test" />
<file name="lob_041.phpt" role="test" />
<file name="lob_042.phpt" role="test" />
<file name="lob_aliases.phpt" role="test" />
<file name="lob_null.phpt" role="test" />
<file name="lob_temp1.phpt" role="test" />
<file name="lob_temp.phpt" role="test" />
<file name="minfo.phpt" role="test" />
<file name="num.phpt" role="test" />
<file name="oci8safemode.phpt" role="test" />
<file name="oci_execute_segfault.phpt" role="test" />
<file name="old_oci_close1.phpt" role="test" />
<file name="old_oci_close.phpt" role="test" />
<file name="parse_error.phpt" role="test" />
<file name="password_2.phpt" role="test" />
<file name="password_new.phpt" role="test" />
<file name="password_old.phpt" role="test" />
<file name="password.phpt" role="test" />
<file name="pecl_bug10194_blob_64.phpt" role="test" />
<file name="pecl_bug10194_blob.phpt" role="test" />
<file name="pecl_bug10194.phpt" role="test" />
<file name="pecl_bug16035.phpt" role="test" />
<file name="pecl_bug16842.phpt" role="test" />
<file name="pecl_bug8816.phpt" role="test" />
<file name="persistent.phpt" role="test" />
<file name="prefetch_old.phpt" role="test" />
<file name="prefetch.phpt" role="test" />
<file name="privileged_connect1.phpt" role="test" />
<file name="privileged_connect.phpt" role="test" />
<file name="refcur_prefetch_1.phpt" role="test" />
<file name="refcur_prefetch_2.phpt" role="test" />
<file name="refcur_prefetch_3.phpt" role="test" />
<file name="reflection1.phpt" role="test" />
<file name="reflection2.phpt" role="test" />
<file name="rowid_bind.phpt" role="test" />
<file name="select_null.phpt" role="test" />
<file name="serverversion.phpt" role="test" />
<file name="skipif.inc" role="test" />
<file name="statement_cache.phpt" role="test" />
<file name="statement_type_old.phpt" role="test" />
<file name="statement_type.phpt" role="test" />
<file name="test.gif" role="test" />
<file name="testping.phpt" role="test" />
<file name="test.txt" role="test" />
<file name="uncommitted.phpt" role="test" />
<file name="xmltype_01.phpt" role="test" />
<file name="xmltype_02.phpt" role="test" />
</dir> <!-- //tests -->
<file name="config.m4" role="src" />
<file name="config.w32" role="src" />
<file name="CREDITS" role="doc" />
<file name="oci8.c" role="src" />
<file name="oci8.dsp" role="src" />
<file name="oci8_collection.c" role="src" />
<file name="oci8_interface.c" role="src" />
<file name="oci8_lob.c" role="src" />
<file name="oci8_statement.c" role="src" />
<file name="php_oci8.h" role="src" />
<file name="php_oci8_int.h" role="src" />
<file name="README" role="doc" />
</dir> <!-- / -->
</contents>
<dependencies>
<required>
<php>
<min>4.3.9</min>
<max>6.0.0</max>
<exclude>6.0.0</exclude>
</php>
<pearinstaller>
<min>1.4.0b1</min>
</pearinstaller>
</required>
</dependencies>
<providesextension>oci8</providesextension>
<extsrcrelease>
<configureoption default="autodetect" name="with-oci8" prompt="Please provide the path to the ORACLE_HOME directory. Use &apos;instantclient,/path/to/instant/client/lib&apos; if you&apos;re compiling with Oracle Instant Client" />
</extsrcrelease>
<changelog>
<release>
<version>
<release>1.3.5</release>
<api>1.3.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
Fixed Bug #47243 (Crash at end of request shutdown on Windows)
Fixed Bug #46994 (CLOB size does not update when using CLOB IN OUT param in stored procedure)
Fixed Bug #46623 (phpinfo doesn't show compile time ORACLE_HOME with phpize)
Fixed bug #45458 (Numeric keys for associative arrays are not handled properly) Note: not fixed when building with PHP 4 due to lack of PHP internal helper.
Fixed PECL Bug #16035 (oci_connect without ORACLE_HOME defined causes segfault)
Fixed PECL Bug #15988 (sqlnet.ora isn't read with older Oracle libraries)
Fixed PECL Bug #14268 (Allow "pecl install oci8" command to "autodetect" an Instant Client RPM install)
</notes>
</release>
<release>
<version>
<release>1.3.4</release>
<api>1.3.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
Enhancement - Allow External Authentication (not supported on Windows)
Enhancement - Reflection will show function and method arguments with PHP 5.x
Increase default oci8.default_prefetch from 10 to 100
Correctly define SQLT_BDOUBLE and SQLT_BFLOAT constants with Oracle 10g ORACLE_HOME builds
</notes>
</release>
<release>
<version>
<release>1.3.3</release>
<api>1.3.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
Changed OCI NLS initialization for consistency and technical correctness
Removed obsolete macros
</notes>
</release>
<release>
<version>
<release>1.3.2</release>
<api>1.3.2</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
Refine DRCP connection pooling functionality
Do scope-end release for oci_pconnect (oci8.old_oci_close_semantics=1 gives old behavior)
Fixed bug #44372 (compilation with Oracle 10gR1 libraries)
Fixed PECL bug #12431 (PEAR install using x86_64 RPM builds)
Allow builds with PHP 4.3.9 onwards
</notes>
</release>
<release>
<version>
<release>1.3.1</release>
<api>1.3.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>Fixed bug #44113 (New collection creation can fail with OCI-22303)
Fixed bug #42841 (Crash with REF CURSORS when statement caching enabled)
Fixed bug #42496 (Cursor leak selecting LOBs
Fixed bug #43497 (Temporary LOB leak)
Fixed PECL bug #12431 (ping functionality is broken)
Allow compilation with 64bit Instant Client RPMs
Allow -with-oci8=instantclient with no directory specified look for RPM install
Refine DRCP functionality
</notes>
</release>
<release>
<version>
<release>1.3.0</release>
<api>1.3.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>Added DRCP and FAN support.
</notes>
</release>
<release>
<version>
<release>1.2.5</release>
<api>1.2.5</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>
This release is based on the OCI8 included in PHP 5.2.6, with the addition of the fix for http://pecl.php.net/bugs/bug.php?id=13523.
--------
Fixed bug #42496 (cursor leak selecting LOBs http://bugs.php.net/bug.php?id=42496
Fixed bug #42841 (crash with REF CURSORS when statement caching enabled) http://bugs.php.net/bug.php?id=42841
Fixed bug #43497 (Temporary LOB leak) http://bugs.php.net/bug.php?id=43497
Fixed bug #44206 (OCI8 selecting ref cursors leads to ORA-1000 maximum open cursors reached).
Fixed bug #44008 (OCI8 incorrect usage of OCI-Lob->close crashes PHP).
Fixed bug #44113 (new collection creation can fail with OCI-22303) http://bugs.php.net/bug.php?id=44113
Enhancement - make -with-oci8=instantclient with no directory specified look for RPM install
Enhancement - compile with 64bit Instant Client RPMs (bug http://bugs.php.net/bug.php?id=41941, http://pecl.php.net/bugs/bug.php?id=13523)
</notes>
</release>
<release>
<version>
<release>1.2.4</release>
<api>1.2.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://www.php.net/license">PHP</license>
<notes>Fixed PECL bug #10194 (crash in Oracle client when memory limit reached in the callback)
Fixed bug #42173 (oci_field_type fixes for INTERVAL and TIMESTAMP types)
Fixed bug #42134 (oci_error() returns false after oci_new_collection() fails)
Fixed bug #41917 (oci_field_precision and oci_field_scale datatypes fixed)
Fixed bug #41711 (Null temporary lobs not supported)
Fixed bug #41594 (Statement cache is flushed too frequently)
Fixed bug #40415 (oci_fetch_all and nested cursors, allocate descriptors dynamically)
Fixed segfault on rebinding and re-executing a statement with LOBs.
Fixed compile failure in ZTS mode when collections support is missing.
Allowed statement cache size to be set for non-persistent connections.
Improved oci_password_change() to close persistent connections on shutdown (to update hashed connection details)
Changed oci_pconnect() to behave like oci_connect() when SYSDBA and SYSOPER privileges are used.
Various minor improvements.
</notes>
</release>
<release>
<version>
<release>1.2.3</release>
<api>1.2.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2007-01-25</date>
<license uri="http://www.php.net/license">PHP</license>
<notes>Fixed possible segfault in ZTS mode when statements containing sub-statements are destroyed in wrong order.
Fixed bug #40078 (ORA-01405 when fetching NULL values using oci_bind_array_by_name()).
Fixed bug #39988 (type argument of oci_define_by_name() is ignored).
Fixed bug #39732 (oci_bind_array_by_name doesn&apos;t work on Solaris 64bit).
Fixed PECL bug #8816 (issue in php_oci_statement_fetch with more than one piecewise column).
Various minor improvements.
</notes>
</release>
<release>
<version>
<release>1.2.2</release>
<api>1.2.2</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-08-24</date>
<license uri="http://www.php.net/license">PHP</license>
<notes>Reimplemented oci_lob_read() utilities using patch from Massimo Squillace (msquillace at sogei dot it), which should fix Unicode LOB problems.
Fixed bug #38161 (oci_bind_by_name() returns garbage when Oracle didn&apos;t set the variable)
Fixed bug #38173 (Freeing nested cursors causes OCI8 to segfault)
Fixed bug #37886 (oci_connect may crash when charset parameter is given)
Fixed bug #37931 (possible crash after database restart when using persistent connections)
Fixed bug #37531 (oci8 persistent connection corruption)
Fixed bug #37487 (oci_fetch_array() array-type should always default to OCI_BOTH)
Fixed bug #37392 (Unnecessary call to OCITransRollback() at the end of request)
Fixed bug #35973 (Error ORA-24806 occurs when trying to fetch a NCLOB field)
Fixed bug #34005 (oci_password_change() fails). Patch by pholdaway at technocom-wireless dot com.
Fixed PECL bug #8112 (Persistent connections misbehave when Apache process times out)
</notes>
</release>
<release>
<version>
<release>1.2.1</release>
<api>1.2.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-05-02</date>
<license uri="http://www.php.net/license">PHP</license>
<notes>Added support for BINARY_DOUBLE and BINARY_FLOAT (see #36764)
Changed oci_field_type() to return VARCHAR2 instead of VARCHAR (according to feature request #36800)
Fixed bug #37059 (oci_bind_by_name() doesn&apos;t support RAW and LONG RAW fields)
Fixed bug #37055 (incorrect reference counting for persistent OCI8 connections)
Fixed bug #36934 (OCILob-&gt;read() doesn&apos;t move internal pointer when reading 0&apos;s)
Fixed bug #36851 (Documentation and code discrepancies for NULL data)
Fixed bug #36820 (Privileged connection with an Oracle password file fails)
</notes>
</release>
<release>
<version>
<release>1.2.0</release>
<api>1.2.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-03-16</date>
<license uri="http://www.php.net/license">PHP</license>
<notes>Changed OCI8 code to use OCIServerVersion() instead of OCIPing(), which may crash Oracle server of version &lt; 10.2
Fixed bug #36235 (ocicolumnname returns false before a succesfull fetch)
Fixed bug #36096 (oci_result() returns garbage after oci_fetch() failed)
Fixed bug #36055 (possible OCI8 crash in multithreaded environment)
Fixed bug #36010 (Segfault when re-creating and re-executing statements with bound parameters)
Fixed PECL bug #5571 (oci_new_connect() not closed by oci_close())
Fixed bug #33383 (crash when retrieving empty BLOBs)
</notes>
</release>
<release>
<version>
<release>1.1.1</release>
<api>1.1.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2005-09-22</date>
<license uri="http://www.php.net/license">PHP</license>
<notes>Fixed segfault when binding empty values.
Fixed problem with oci_error() without arguments.
</notes>
</release>
<release>
<version>
<release>1.1</release>
<api>1.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2005-09-07</date>
<license uri="http://www.php.net/license">PHP</license>
<notes>This release fixes a huge amount of bugs and adds support of
statement caching, external credentials etc.
See official announce for details.
</notes>
</release>
<release>
<version>
<release>1.0</release>
<api>1.0</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<date>2004-03-19</date>
<license uri="http://www.php.net/license">PHP</license>
<notes>package.xml added to support installation using pear installer
</notes>
</release>
</changelog>
</package>