From 19b35ad50ed9d663c0b03e5f8f4ff4336cfeb0fe Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 25 Jul 2024 08:58:13 +0200 Subject: update to 3.4.0 use oracle client library version 23.4 on x86_64, 19.23 on aarch64 build out of sources tree --- .gitignore | 9 + PHPINFO | 7 +- REFLECTION | 1358 +++++++++++++++++++++++++++---------------------- oci8-2.0.8-conf.patch | 11 - php-pecl-oci8.spec | 216 +++----- 5 files changed, 840 insertions(+), 761 deletions(-) create mode 100644 .gitignore delete mode 100644 oci8-2.0.8-conf.patch diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01f0400 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +clog +package-*.xml +*.tgz +*.tar.bz2 +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/PHPINFO b/PHPINFO index 76df586..334cefc 100644 --- a/PHPINFO +++ b/PHPINFO @@ -3,9 +3,9 @@ oci8 OCI8 Support => enabled OCI8 DTrace Support => enabled -OCI8 Version => 2.2.0 -Oracle Run-time Client Library Version => 18.3.0.0.0 -Oracle Compile-time Instant Client Version => 18.3 +OCI8 Version => 3.4.0 +Oracle Run-time Client Library Version => 23.4.0.24.5 +Oracle Compile-time Instant Client Version => 23.4 Directive => Local Value => Master Value oci8.max_persistent => -1 => -1 @@ -17,6 +17,7 @@ oci8.default_prefetch => 100 => 100 oci8.old_oci_close_semantics => Off => Off oci8.connection_class => no value => no value oci8.events => Off => Off +oci8.prefetch_lob_size => 0 => 0 Statistics => Active Persistent Connections => 0 diff --git a/REFLECTION b/REFLECTION index 712740a..8a7ab44 100644 --- a/REFLECTION +++ b/REFLECTION @@ -1,4 +1,4 @@ -Extension [ extension #122 oci8 version 2.2.0 ] { +Extension [ extension #84 oci8 version 3.4.0 ] { - INI { Entry [ oci8.max_persistent ] @@ -28,970 +28,1080 @@ Extension [ extension #122 oci8 version 2.2.0 ] { Entry [ oci8.events ] Current = '0' } + Entry [ oci8.prefetch_lob_size ] + Current = '0' + } } - Constants [73] { - Constant [ integer OCI_DEFAULT ] { 0 } - Constant [ integer OCI_SYSOPER ] { 4 } - Constant [ integer OCI_SYSDBA ] { 2 } - Constant [ integer OCI_CRED_EXT ] { -2147483648 } - Constant [ integer OCI_DESCRIBE_ONLY ] { 16 } - Constant [ integer OCI_COMMIT_ON_SUCCESS ] { 32 } - Constant [ integer OCI_NO_AUTO_COMMIT ] { 0 } - Constant [ integer OCI_EXACT_FETCH ] { 2 } - Constant [ integer OCI_SEEK_SET ] { 0 } - Constant [ integer OCI_SEEK_CUR ] { 1 } - Constant [ integer OCI_SEEK_END ] { 2 } - Constant [ integer OCI_LOB_BUFFER_FREE ] { 1 } - Constant [ integer SQLT_BFILEE ] { 114 } - Constant [ integer SQLT_CFILEE ] { 115 } - Constant [ integer SQLT_CLOB ] { 112 } - Constant [ integer SQLT_BLOB ] { 113 } - Constant [ integer SQLT_RDD ] { 104 } - Constant [ integer SQLT_INT ] { 3 } - Constant [ integer SQLT_NUM ] { 2 } - Constant [ integer SQLT_RSET ] { 116 } - Constant [ integer SQLT_AFC ] { 96 } - Constant [ integer SQLT_CHR ] { 1 } - Constant [ integer SQLT_VCS ] { 9 } - Constant [ integer SQLT_AVC ] { 97 } - Constant [ integer SQLT_STR ] { 5 } - Constant [ integer SQLT_LVC ] { 94 } - Constant [ integer SQLT_FLT ] { 4 } - Constant [ integer SQLT_UIN ] { 68 } - Constant [ integer SQLT_LNG ] { 8 } - Constant [ integer SQLT_LBI ] { 24 } - Constant [ integer SQLT_BIN ] { 23 } - Constant [ integer SQLT_ODT ] { 156 } - Constant [ integer SQLT_BDOUBLE ] { 22 } - Constant [ integer SQLT_BFLOAT ] { 21 } - Constant [ integer SQLT_BOL ] { 252 } - Constant [ integer OCI_B_NTY ] { 108 } - Constant [ integer SQLT_NTY ] { 108 } + Constant [ int OCI_DEFAULT ] { 0 } + Constant [ int OCI_SYSOPER ] { 4 } + Constant [ int OCI_SYSDBA ] { 2 } + Constant [ int OCI_CRED_EXT ] { 2147483648 } + Constant [ int OCI_DESCRIBE_ONLY ] { 16 } + Constant [ int OCI_COMMIT_ON_SUCCESS ] { 32 } + Constant [ int OCI_NO_AUTO_COMMIT ] { 0 } + Constant [ int OCI_EXACT_FETCH ] { 2 } + Constant [ int OCI_SEEK_SET ] { 0 } + Constant [ int OCI_SEEK_CUR ] { 1 } + Constant [ int OCI_SEEK_END ] { 2 } + Constant [ int OCI_LOB_BUFFER_FREE ] { 1 } + Constant [ int SQLT_BFILEE ] { 114 } + Constant [ int SQLT_CFILEE ] { 115 } + Constant [ int SQLT_CLOB ] { 112 } + Constant [ int SQLT_BLOB ] { 113 } + Constant [ int SQLT_RDD ] { 104 } + Constant [ int SQLT_INT ] { 3 } + Constant [ int SQLT_NUM ] { 2 } + Constant [ int SQLT_RSET ] { 116 } + Constant [ int SQLT_AFC ] { 96 } + Constant [ int SQLT_CHR ] { 1 } + Constant [ int SQLT_VCS ] { 9 } + Constant [ int SQLT_AVC ] { 97 } + Constant [ int SQLT_STR ] { 5 } + Constant [ int SQLT_LVC ] { 94 } + Constant [ int SQLT_FLT ] { 4 } + Constant [ int SQLT_UIN ] { 68 } + Constant [ int SQLT_LNG ] { 8 } + Constant [ int SQLT_LBI ] { 24 } + Constant [ int SQLT_BIN ] { 23 } + Constant [ int SQLT_ODT ] { 156 } + Constant [ int SQLT_BDOUBLE ] { 22 } + Constant [ int SQLT_BFLOAT ] { 21 } + Constant [ int SQLT_BOL ] { 252 } + Constant [ int OCI_B_NTY ] { 108 } + Constant [ int SQLT_NTY ] { 108 } Constant [ string OCI_SYSDATE ] { SYSDATE } - Constant [ integer OCI_B_BFILE ] { 114 } - Constant [ integer OCI_B_CFILEE ] { 115 } - Constant [ integer OCI_B_CLOB ] { 112 } - Constant [ integer OCI_B_BLOB ] { 113 } - Constant [ integer OCI_B_ROWID ] { 104 } - Constant [ integer OCI_B_CURSOR ] { 116 } - Constant [ integer OCI_B_BIN ] { 23 } - Constant [ integer OCI_B_INT ] { 3 } - Constant [ integer OCI_B_NUM ] { 2 } - Constant [ integer OCI_B_BOL ] { 252 } - Constant [ integer OCI_FETCHSTATEMENT_BY_COLUMN ] { 16 } - Constant [ integer OCI_FETCHSTATEMENT_BY_ROW ] { 32 } - Constant [ integer OCI_ASSOC ] { 1 } - Constant [ integer OCI_NUM ] { 2 } - Constant [ integer OCI_BOTH ] { 3 } - Constant [ integer OCI_RETURN_NULLS ] { 4 } - Constant [ integer OCI_RETURN_LOBS ] { 8 } - Constant [ integer OCI_DTYPE_FILE ] { 56 } - Constant [ integer OCI_DTYPE_LOB ] { 50 } - Constant [ integer OCI_DTYPE_ROWID ] { 54 } - Constant [ integer OCI_D_FILE ] { 56 } - Constant [ integer OCI_D_LOB ] { 50 } - Constant [ integer OCI_D_ROWID ] { 54 } - Constant [ integer OCI_TEMP_CLOB ] { 2 } - Constant [ integer OCI_TEMP_BLOB ] { 1 } - Constant [ integer OCI_FO_END ] { 1 } - Constant [ integer OCI_FO_ABORT ] { 2 } - Constant [ integer OCI_FO_REAUTH ] { 4 } - Constant [ integer OCI_FO_BEGIN ] { 8 } - Constant [ integer OCI_FO_ERROR ] { 16 } - Constant [ integer OCI_FO_NONE ] { 1 } - Constant [ integer OCI_FO_SESSION ] { 2 } - Constant [ integer OCI_FO_SELECT ] { 4 } - Constant [ integer OCI_FO_TXNAL ] { 8 } - Constant [ integer OCI_FO_RETRY ] { 25410 } + Constant [ int OCI_B_BFILE ] { 114 } + Constant [ int OCI_B_CFILEE ] { 115 } + Constant [ int OCI_B_CLOB ] { 112 } + Constant [ int OCI_B_BLOB ] { 113 } + Constant [ int OCI_B_ROWID ] { 104 } + Constant [ int OCI_B_CURSOR ] { 116 } + Constant [ int OCI_B_BIN ] { 23 } + Constant [ int OCI_B_INT ] { 3 } + Constant [ int OCI_B_NUM ] { 2 } + Constant [ int OCI_B_BOL ] { 252 } + Constant [ int OCI_FETCHSTATEMENT_BY_COLUMN ] { 16 } + Constant [ int OCI_FETCHSTATEMENT_BY_ROW ] { 32 } + Constant [ int OCI_ASSOC ] { 1 } + Constant [ int OCI_NUM ] { 2 } + Constant [ int OCI_BOTH ] { 3 } + Constant [ int OCI_RETURN_NULLS ] { 4 } + Constant [ int OCI_RETURN_LOBS ] { 8 } + Constant [ int OCI_DTYPE_FILE ] { 56 } + Constant [ int OCI_DTYPE_LOB ] { 50 } + Constant [ int OCI_DTYPE_ROWID ] { 54 } + Constant [ int OCI_D_FILE ] { 56 } + Constant [ int OCI_D_LOB ] { 50 } + Constant [ int OCI_D_ROWID ] { 54 } + Constant [ int OCI_TEMP_CLOB ] { 2 } + Constant [ int OCI_TEMP_BLOB ] { 1 } + Constant [ int OCI_FO_END ] { 1 } + Constant [ int OCI_FO_ABORT ] { 2 } + Constant [ int OCI_FO_REAUTH ] { 4 } + Constant [ int OCI_FO_BEGIN ] { 8 } + Constant [ int OCI_FO_ERROR ] { 16 } + Constant [ int OCI_FO_NONE ] { 1 } + Constant [ int OCI_FO_SESSION ] { 2 } + Constant [ int OCI_FO_SELECT ] { 4 } + Constant [ int OCI_FO_TXNAL ] { 8 } + Constant [ int OCI_FO_RETRY ] { 25410 } } - Functions { Function [ function oci_define_by_name ] { - Parameters [4] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_name ] - Parameter #2 [ &$variable ] - Parameter #3 [ $type ] + Parameter #0 [ $statement ] + Parameter #1 [ string $column ] + Parameter #2 [ mixed &$var ] + Parameter #3 [ int $type = 0 ] } + - Return [ bool ] } - Function [ function oci_bind_by_name ] { + Function [ function ocidefinebyname ] { - - Parameters [5] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_name ] - Parameter #2 [ &$variable ] - Parameter #3 [ $maximum_length ] - Parameter #4 [ $type ] + - Parameters [4] { + Parameter #0 [ $statement ] + Parameter #1 [ string $column ] + Parameter #2 [ mixed &$var ] + Parameter #3 [ int $type = 0 ] } + - Return [ bool ] } - Function [ function oci_bind_array_by_name ] { + Function [ function oci_bind_by_name ] { - - Parameters [6] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_name ] - Parameter #2 [ &$variable ] - Parameter #3 [ $maximum_array_length ] - Parameter #4 [ $maximum_item_length ] - Parameter #5 [ $type ] + - Parameters [5] { + Parameter #0 [ $statement ] + Parameter #1 [ string $param ] + Parameter #2 [ mixed &$var ] + Parameter #3 [ int $max_length = -1 ] + Parameter #4 [ int $type = 0 ] } + - Return [ bool ] } - Function [ function oci_field_is_null ] { + Function [ function ocibindbyname ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [5] { + Parameter #0 [ $statement ] + Parameter #1 [ string $param ] + Parameter #2 [ mixed &$var ] + Parameter #3 [ int $max_length = -1 ] + Parameter #4 [ int $type = 0 ] } + - Return [ bool ] } - Function [ function oci_field_name ] { + Function [ function oci_bind_array_by_name ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [6] { + Parameter #0 [ $statement ] + Parameter #1 [ string $param ] + Parameter #2 [ &$var ] + Parameter #3 [ int $max_array_length ] + Parameter #4 [ int $max_item_length = -1 ] + Parameter #5 [ int $type = SQLT_AFC ] } + - Return [ bool ] } - Function [ function oci_field_size ] { + Function [ function oci_free_descriptor ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [1] { + Parameter #0 [ OCILob $lob ] } + - Return [ bool ] } - Function [ function oci_field_scale ] { + Function [ function ocifreedesc ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [1] { + Parameter #0 [ OCILob $lob ] } + - Return [ bool ] } - Function [ function oci_field_precision ] { + Function [ function oci_lob_save ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [3] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ string $data ] + Parameter #2 [ int $offset = 0 ] } + - Return [ bool ] } - Function [ function oci_field_type ] { + Function [ function ocisavelob ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [3] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ string $data ] + Parameter #2 [ int $offset = 0 ] } + - Return [ bool ] } - Function [ function oci_field_type_raw ] { + Function [ function oci_lob_import ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ OCILob $lob ] + Parameter #1 [ string $filename ] } + - Return [ bool ] } - Function [ function oci_execute ] { + Function [ function ocisavelobfile ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $mode ] + Parameter #0 [ OCILob $lob ] + Parameter #1 [ string $filename ] } + - Return [ bool ] } - Function [ function oci_cancel ] { + Function [ function oci_lob_load ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ OCILob $lob ] } + - Return [ string|false ] } - Function [ function oci_fetch ] { + Function [ function ociloadlob ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ OCILob $lob ] } + - Return [ string|false ] } - Function [ function oci_fetch_object ] { + Function [ function oci_lob_read ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [2] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ int $length ] } + - Return [ string|false ] } - Function [ function oci_fetch_row ] { + Function [ function oci_lob_eof ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ OCILob $lob ] } + - Return [ bool ] } - Function [ function oci_fetch_assoc ] { + Function [ function oci_lob_tell ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ OCILob $lob ] } + - Return [ int|false ] } - Function [ function oci_fetch_array ] { + Function [ function oci_lob_rewind ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $mode ] + - Parameters [1] { + Parameter #0 [ OCILob $lob ] } + - Return [ bool ] } - Function [ function ocifetchinto ] { + Function [ function oci_lob_seek ] { - Parameters [3] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ &$result ] - Parameter #2 [ $mode ] - } - } - Function [ function oci_fetch_all ] { - - - Parameters [5] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ &$output ] - Parameter #2 [ $skip ] - Parameter #3 [ $maximum_rows ] - Parameter #4 [ $flags ] + Parameter #0 [ OCILob $lob ] + Parameter #1 [ int $offset ] + Parameter #2 [ int $whence = OCI_SEEK_SET ] } + - Return [ bool ] } - Function [ function oci_free_statement ] { + Function [ function oci_lob_size ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ OCILob $lob ] } + - Return [ int|false ] } - Function [ function oci_internal_debug ] { + Function [ function oci_lob_write ] { - - Parameters [1] { - Parameter #0 [ $mode ] + - Parameters [3] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ string $data ] + Parameter #2 [ ?int $length = null ] } + - Return [ int|false ] } - Function [ function oci_num_fields ] { + Function [ function oci_lob_append ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [2] { + Parameter #0 [ OCILob $to ] + Parameter #1 [ OCILob $from ] } + - Return [ bool ] } - Function [ function oci_parse ] { + Function [ function oci_lob_truncate ] { - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $sql_text ] + Parameter #0 [ OCILob $lob ] + Parameter #1 [ int $length = 0 ] } + - Return [ bool ] } - Function [ function oci_get_implicit_resultset ] { + Function [ function oci_lob_erase ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [3] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ ?int $offset = null ] + Parameter #2 [ ?int $length = null ] } + - Return [ int|false ] } - Function [ function oci_new_cursor ] { + Function [ function oci_lob_flush ] { - - Parameters [1] { - Parameter #0 [ $connection_resource ] + - Parameters [2] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ int $flag = 0 ] } + - Return [ bool ] } - Function [ function oci_result ] { + Function [ function ocisetbufferinglob ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ OCILob $lob ] + Parameter #1 [ bool $mode ] } + - Return [ bool ] } - Function [ function oci_client_version ] { + Function [ function ocigetbufferinglob ] { - - Parameters [0] { + - Parameters [1] { + Parameter #0 [ OCILob $lob ] } + - Return [ bool ] } - Function [ function oci_server_version ] { + Function [ function oci_lob_copy ] { - - Parameters [1] { - Parameter #0 [ $connection_resource ] + - Parameters [3] { + Parameter #0 [ OCILob $to ] + Parameter #1 [ OCILob $from ] + Parameter #2 [ ?int $length = null ] } + - Return [ bool ] } - Function [ function oci_statement_type ] { + Function [ function oci_lob_is_equal ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [2] { + Parameter #0 [ OCILob $lob1 ] + Parameter #1 [ OCILob $lob2 ] } + - Return [ bool ] } - Function [ function oci_num_rows ] { + Function [ function oci_lob_export ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [4] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ string $filename ] + Parameter #2 [ ?int $offset = null ] + Parameter #3 [ ?int $length = null ] } + - Return [ bool ] } - Function [ function oci_close ] { + Function [ function ociwritelobtofile ] { - - Parameters [1] { - Parameter #0 [ $connection_resource ] + - Parameters [4] { + Parameter #0 [ OCILob $lob ] + Parameter #1 [ string $filename ] + Parameter #2 [ ?int $offset = null ] + Parameter #3 [ ?int $length = null ] } + - Return [ bool ] } - Function [ function oci_connect ] { + Function [ function oci_new_descriptor ] { - - Parameters [5] { - Parameter #0 [ $username ] - Parameter #1 [ $password ] - Parameter #2 [ $connection_string ] - Parameter #3 [ $character_set ] - Parameter #4 [ $session_mode ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ int $type = OCI_DTYPE_LOB ] } + - Return [ ?OCILob ] } - Function [ function oci_new_connect ] { + Function [ function ocinewdescriptor ] { - - Parameters [5] { - Parameter #0 [ $username ] - Parameter #1 [ $password ] - Parameter #2 [ $connection_string ] - Parameter #3 [ $character_set ] - Parameter #4 [ $session_mode ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ int $type = OCI_DTYPE_LOB ] } + - Return [ ?OCILob ] } - Function [ function oci_pconnect ] { + Function [ function oci_rollback ] { - - Parameters [5] { - Parameter #0 [ $username ] - Parameter #1 [ $password ] - Parameter #2 [ $connection_string ] - Parameter #3 [ $character_set ] - Parameter #4 [ $session_mode ] + - Parameters [1] { + Parameter #0 [ $connection ] } + - Return [ bool ] } - Function [ function oci_error ] { + Function [ function ocirollback ] { - Parameters [1] { - Parameter #0 [ $connection_or_statement_resource ] + Parameter #0 [ $connection ] } + - Return [ bool ] } - Function [ function oci_free_descriptor ] { + Function [ function oci_commit ] { - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + Parameter #0 [ $connection ] } + - Return [ bool ] } - Function [ function oci_lob_save ] { + Function [ function ocicommit ] { - - Parameters [3] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $data ] - Parameter #2 [ $offset ] + - Parameters [1] { + Parameter #0 [ $connection ] } + - Return [ bool ] } - Function [ function oci_lob_import ] { + Function [ function oci_field_name ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $filename ] + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ string|false ] } - Function [ function oci_lob_size ] { + Function [ function ocicolumnname ] { - - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ string|false ] } - Function [ function oci_lob_load ] { + Function [ function oci_field_size ] { - - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_read ] { + Function [ function ocicolumnsize ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $length ] + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_eof ] { + Function [ function oci_field_scale ] { - - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_tell ] { + Function [ function ocicolumnscale ] { - - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_truncate ] { + Function [ function oci_field_precision ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $length ] + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_erase ] { + Function [ function ocicolumnprecision ] { - - Parameters [3] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $offset ] - Parameter #2 [ $length ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_flush ] { + Function [ function oci_field_type ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $flag ] + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ string|int|false ] } - Function [ function ocisetbufferinglob ] { + Function [ function ocicolumntype ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $mode ] + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ string|int|false ] } - Function [ function ocigetbufferinglob ] { + Function [ function oci_field_type_raw ] { - - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_is_equal ] { + Function [ function ocicolumntyperaw ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $lob_descriptor ] + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ int|false ] } - Function [ function oci_lob_rewind ] { + Function [ function oci_field_is_null ] { - - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ bool ] } - Function [ function oci_lob_write ] { + Function [ function ocicolumnisnull ] { - - Parameters [3] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $string ] - Parameter #2 [ $length ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ bool ] } - Function [ function oci_lob_append ] { + Function [ function oci_execute ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor_to ] - Parameter #1 [ $lob_descriptor_from ] + Parameter #0 [ $statement ] + Parameter #1 [ int $mode = OCI_COMMIT_ON_SUCCESS ] } + - Return [ bool ] } - Function [ function oci_lob_copy ] { + Function [ function ociexecute ] { - - Parameters [3] { - Parameter #0 [ $lob_descriptor_to ] - Parameter #1 [ $lob_descriptor_from ] - Parameter #2 [ $length ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ int $mode = OCI_COMMIT_ON_SUCCESS ] } + - Return [ bool ] } - Function [ function oci_lob_export ] { + Function [ function oci_cancel ] { - - Parameters [4] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $filename ] - Parameter #2 [ $start ] - Parameter #3 [ $length ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_lob_seek ] { + Function [ function ocicancel ] { - - Parameters [3] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $offset ] - Parameter #2 [ $whence ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_commit ] { + Function [ function oci_fetch ] { - Parameters [1] { - Parameter #0 [ $connection_resource ] + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_rollback ] { + Function [ function ocifetch ] { - Parameters [1] { - Parameter #0 [ $connection_resource ] + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_new_descriptor ] { + Function [ function ocifetchinto ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $type ] + - Parameters [3] { + Parameter #0 [ $statement ] + Parameter #1 [ &$result ] + Parameter #2 [ int $mode = OCI_NUM ] } + - Return [ int|false ] } - Function [ function oci_set_prefetch ] { + Function [ function oci_fetch_all ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $number_of_rows ] + - Parameters [5] { + Parameter #0 [ $statement ] + Parameter #1 [ &$output ] + Parameter #2 [ int $offset = 0 ] + Parameter #3 [ int $limit = -1 ] + Parameter #4 [ int $flags = OCI_FETCHSTATEMENT_BY_COLUMN | OCI_ASSOC ] } + - Return [ int ] } - Function [ function oci_set_client_identifier ] { + Function [ function ocifetchstatement ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $client_identifier ] + - Parameters [5] { + Parameter #0 [ $statement ] + Parameter #1 [ &$output ] + Parameter #2 [ int $offset = 0 ] + Parameter #3 [ int $limit = -1 ] + Parameter #4 [ int $flags = OCI_FETCHSTATEMENT_BY_COLUMN | OCI_ASSOC ] } + - Return [ int ] } - Function [ function oci_set_db_operation ] { + Function [ function oci_fetch_object ] { - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $action ] + Parameter #0 [ $statement ] + Parameter #1 [ int $mode = OCI_ASSOC | OCI_RETURN_NULLS ] } + - Return [ stdClass|false ] } - Function [ function oci_set_call_timeout ] { + Function [ function oci_fetch_row ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $call_timeout ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ array|false ] } - Function [ function oci_set_edition ] { + Function [ function oci_fetch_assoc ] { - Parameters [1] { - Parameter #0 [ $edition_name ] + Parameter #0 [ $statement ] } + - Return [ array|false ] } - Function [ function oci_set_module_name ] { + Function [ function oci_fetch_array ] { - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $module_name ] + Parameter #0 [ $statement ] + Parameter #1 [ int $mode = OCI_BOTH | OCI_RETURN_NULLS ] } + - Return [ array|false ] } - Function [ function oci_set_action ] { + Function [ function oci_free_statement ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $action ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_set_client_info ] { + Function [ function ocifreestatement ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $client_information ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_password_change ] { + Function [ function oci_free_cursor ] { - - Parameters [4] { - Parameter #0 [ $connection_resource_or_connection_string ] - Parameter #1 [ $username ] - Parameter #2 [ $old_password ] - Parameter #3 [ $new_password ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_free_collection ] { + Function [ function ocifreecursor ] { - Parameters [1] { - Parameter #0 [ $collection ] + Parameter #0 [ $statement ] } + - Return [ bool ] } - Function [ function oci_collection_append ] { + Function [ function oci_close ] { - - Parameters [2] { - Parameter #0 [ $collection ] - Parameter #1 [ $value ] + - Parameters [1] { + Parameter #0 [ $connection ] } + - Return [ ?bool ] } - Function [ function oci_collection_element_get ] { + Function [ function ocilogoff ] { - - Parameters [2] { - Parameter #0 [ $collection ] - Parameter #1 [ $index ] + - Parameters [1] { + Parameter #0 [ $connection ] } + - Return [ ?bool ] } - Function [ function oci_collection_element_assign ] { + Function [ function oci_new_connect ] { - - Parameters [3] { - Parameter #0 [ $collection ] - Parameter #1 [ $index ] - Parameter #2 [ $value ] + - Parameters [5] { + Parameter #0 [ string $username ] + Parameter #1 [ string $password ] + Parameter #2 [ ?string $connection_string = null ] + Parameter #3 [ string $encoding = "" ] + Parameter #4 [ int $session_mode = OCI_DEFAULT ] } } - Function [ function oci_collection_assign ] { + Function [ function ocinlogon ] { - - Parameters [2] { - Parameter #0 [ $collection_to ] - Parameter #1 [ $collection_from ] + - Parameters [5] { + Parameter #0 [ string $username ] + Parameter #1 [ string $password ] + Parameter #2 [ ?string $connection_string = null ] + Parameter #3 [ string $encoding = "" ] + Parameter #4 [ int $session_mode = OCI_DEFAULT ] } } - Function [ function oci_collection_size ] { + Function [ function oci_connect ] { - - Parameters [1] { - Parameter #0 [ $collection ] + - Parameters [5] { + Parameter #0 [ string $username ] + Parameter #1 [ string $password ] + Parameter #2 [ ?string $connection_string = null ] + Parameter #3 [ string $encoding = "" ] + Parameter #4 [ int $session_mode = OCI_DEFAULT ] } } - Function [ function oci_collection_max ] { + Function [ function ocilogon ] { - - Parameters [1] { - Parameter #0 [ $collection ] + - Parameters [5] { + Parameter #0 [ string $username ] + Parameter #1 [ string $password ] + Parameter #2 [ ?string $connection_string = null ] + Parameter #3 [ string $encoding = "" ] + Parameter #4 [ int $session_mode = OCI_DEFAULT ] } } - Function [ function oci_collection_trim ] { + Function [ function oci_pconnect ] { - - Parameters [2] { - Parameter #0 [ $collection ] - Parameter #1 [ $number ] + - Parameters [5] { + Parameter #0 [ string $username ] + Parameter #1 [ string $password ] + Parameter #2 [ ?string $connection_string = null ] + Parameter #3 [ string $encoding = "" ] + Parameter #4 [ int $session_mode = OCI_DEFAULT ] } } - Function [ function oci_new_collection ] { + Function [ function ociplogon ] { - - Parameters [3] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $type_name ] - Parameter #2 [ $schema_name ] + - Parameters [5] { + Parameter #0 [ string $username ] + Parameter #1 [ string $password ] + Parameter #2 [ ?string $connection_string = null ] + Parameter #3 [ string $encoding = "" ] + Parameter #4 [ int $session_mode = OCI_DEFAULT ] } } - Function [ function oci_register_taf_callback ] { + Function [ function oci_error ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $function_name ] + - Parameters [1] { + Parameter #0 [ $connection_or_statement = null ] } + - Return [ array|false ] } - Function [ function oci_unregister_taf_callback ] { + Function [ function ocierror ] { - Parameters [1] { - Parameter #0 [ $connection_resource ] + Parameter #0 [ $connection_or_statement = null ] } + - Return [ array|false ] } - Function [ function oci_free_cursor ] { + Function [ function oci_num_fields ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ $statement ] } + - Return [ int ] } - Function [ function ocifreecursor ] { + Function [ function ocinumcols ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ $statement ] } + - Return [ int ] } - Function [ function ocibindbyname ] { + Function [ function oci_parse ] { - - Parameters [5] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_name ] - Parameter #2 [ &$variable ] - Parameter #3 [ $maximum_length ] - Parameter #4 [ $type ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ string $sql ] } } - Function [ function ocidefinebyname ] { + Function [ function ociparse ] { - - Parameters [4] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_name ] - Parameter #2 [ &$variable ] - Parameter #3 [ $type ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ string $sql ] } } - Function [ function ocicolumnisnull ] { + Function [ function oci_get_implicit_resultset ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [1] { + Parameter #0 [ $statement ] } } - Function [ function ocicolumnname ] { + Function [ function oci_set_prefetch ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ $statement ] + Parameter #1 [ int $rows ] } + - Return [ bool ] } - Function [ function ocicolumnsize ] { + Function [ function ocisetprefetch ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ $statement ] + Parameter #1 [ int $rows ] } + - Return [ bool ] } - Function [ function ocicolumnscale ] { + Function [ function oci_set_prefetch_lob ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ $statement ] + Parameter #1 [ int $prefetch_lob_size ] } + - Return [ bool ] } - Function [ function ocicolumnprecision ] { + Function [ function oci_set_client_identifier ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ $connection ] + Parameter #1 [ string $client_id ] } + - Return [ bool ] } - Function [ function ocicolumntype ] { + Function [ function oci_set_edition ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + - Parameters [1] { + Parameter #0 [ string $edition ] } + - Return [ bool ] } - Function [ function ocicolumntyperaw ] { + Function [ function oci_set_module_name ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ $connection ] + Parameter #1 [ string $name ] } + - Return [ bool ] } - Function [ function ociexecute ] { + Function [ function oci_set_action ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $mode ] + Parameter #0 [ $connection ] + Parameter #1 [ string $action ] } + - Return [ bool ] } - Function [ function ocicancel ] { + Function [ function oci_set_client_info ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ string $client_info ] } + - Return [ bool ] } - Function [ function ocifetch ] { + Function [ function oci_set_db_operation ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ string $action ] } + - Return [ bool ] } - Function [ function ocifetchstatement ] { + Function [ function oci_set_call_timeout ] { - - Parameters [5] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ &$output ] - Parameter #2 [ $skip ] - Parameter #3 [ $maximum_rows ] - Parameter #4 [ $flags ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ int $timeout ] } + - Return [ bool ] } - Function [ function ocifreestatement ] { + Function [ function oci_password_change ] { - - Parameters [1] { - Parameter #0 [ $statement_resource ] + - Parameters [4] { + Parameter #0 [ $connection ] + Parameter #1 [ string $username ] + Parameter #2 [ string $old_password ] + Parameter #3 [ string $new_password ] } } - Function [ function ociinternaldebug ] { + Function [ function ocipasswordchange ] { - - Parameters [1] { - Parameter #0 [ $mode ] + - Parameters [4] { + Parameter #0 [ $connection ] + Parameter #1 [ string $username ] + Parameter #2 [ string $old_password ] + Parameter #3 [ string $new_password ] } } - Function [ function ocinumcols ] { + Function [ function oci_new_cursor ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ $connection ] } } - Function [ function ociparse ] { + Function [ function ocinewcursor ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $sql_text ] + - Parameters [1] { + Parameter #0 [ $connection ] } } - Function [ function ocinewcursor ] { + Function [ function oci_result ] { - - Parameters [1] { - Parameter #0 [ $connection_resource ] + - Parameters [2] { + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ mixed ] } - Function [ function ociresult ] { + Function [ function ociresult ] { - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $column_number_or_name ] + Parameter #0 [ $statement ] + Parameter #1 [ string|int $column ] } + - Return [ mixed ] } - Function [ function ociserverversion ] { + Function [ function oci_client_version ] { - - Parameters [1] { - Parameter #0 [ $connection_resource ] + - Parameters [0] { } + - Return [ string ] } - Function [ function ocistatementtype ] { + Function [ function oci_server_version ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ $connection ] } + - Return [ string|false ] } - Function [ function ocirowcount ] { + Function [ function ociserverversion ] { - Parameters [1] { - Parameter #0 [ $statement_resource ] + Parameter #0 [ $connection ] } + - Return [ string|false ] } - Function [ function ocilogoff ] { + Function [ function oci_statement_type ] { - Parameters [1] { - Parameter #0 [ $connection_resource ] + Parameter #0 [ $statement ] } + - Return [ string|false ] } - Function [ function ocilogon ] { + Function [ function ocistatementtype ] { - - Parameters [5] { - Parameter #0 [ $username ] - Parameter #1 [ $password ] - Parameter #2 [ $connection_string ] - Parameter #3 [ $character_set ] - Parameter #4 [ $session_mode ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ string|false ] } - Function [ function ocinlogon ] { + Function [ function oci_num_rows ] { - - Parameters [5] { - Parameter #0 [ $username ] - Parameter #1 [ $password ] - Parameter #2 [ $connection_string ] - Parameter #3 [ $character_set ] - Parameter #4 [ $session_mode ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ int|false ] } - Function [ function ociplogon ] { + Function [ function ocirowcount ] { - - Parameters [5] { - Parameter #0 [ $username ] - Parameter #1 [ $password ] - Parameter #2 [ $connection_string ] - Parameter #3 [ $character_set ] - Parameter #4 [ $session_mode ] + - Parameters [1] { + Parameter #0 [ $statement ] } + - Return [ int|false ] } - Function [ function ocierror ] { + Function [ function oci_free_collection ] { - Parameters [1] { - Parameter #0 [ $connection_or_statement_resource ] + Parameter #0 [ OCICollection $collection ] } + - Return [ bool ] } - Function [ function ocifreedesc ] { + Function [ function ocifreecollection ] { - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + Parameter #0 [ OCICollection $collection ] } + - Return [ bool ] } - Function [ function ocisavelob ] { + Function [ function oci_collection_append ] { - - Parameters [3] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $data ] - Parameter #2 [ $offset ] + - Parameters [2] { + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ string $value ] } + - Return [ bool ] } - Function [ function ocisavelobfile ] { + Function [ function ocicollappend ] { - Parameters [2] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $filename ] + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ string $value ] } + - Return [ bool ] } - Function [ function ociwritelobtofile ] { + Function [ function oci_collection_element_get ] { - - Parameters [4] { - Parameter #0 [ $lob_descriptor ] - Parameter #1 [ $filename ] - Parameter #2 [ $start ] - Parameter #3 [ $length ] + - Parameters [2] { + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ int $index ] } + - Return [ string|float|false|null ] } - Function [ function ociloadlob ] { + Function [ function ocicollgetelem ] { - - Parameters [1] { - Parameter #0 [ $lob_descriptor ] + - Parameters [2] { + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ int $index ] } + - Return [ string|float|false|null ] } - Function [ function ocicommit ] { + Function [ function oci_collection_assign ] { - - Parameters [1] { - Parameter #0 [ $connection_resource ] + - Parameters [2] { + Parameter #0 [ OCICollection $to ] + Parameter #1 [ OCICollection $from ] } + - Return [ bool ] } - Function [ function ocirollback ] { + Function [ function oci_collection_element_assign ] { - - Parameters [1] { - Parameter #0 [ $connection_resource ] + - Parameters [3] { + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ int $index ] + Parameter #2 [ string $value ] } + - Return [ bool ] } - Function [ function ocinewdescriptor ] { + Function [ function ocicollassignelem ] { - - Parameters [2] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $type ] + - Parameters [3] { + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ int $index ] + Parameter #2 [ string $value ] } + - Return [ bool ] } - Function [ function ocisetprefetch ] { + Function [ function oci_collection_size ] { - - Parameters [2] { - Parameter #0 [ $statement_resource ] - Parameter #1 [ $number_of_rows ] + - Parameters [1] { + Parameter #0 [ OCICollection $collection ] } + - Return [ int|false ] } - Function [ function ocipasswordchange ] { + Function [ function ocicollsize ] { - - Parameters [4] { - Parameter #0 [ $connection_resource_or_connection_string ] - Parameter #1 [ $username ] - Parameter #2 [ $old_password ] - Parameter #3 [ $new_password ] + - Parameters [1] { + Parameter #0 [ OCICollection $collection ] } + - Return [ int|false ] } - Function [ function ocifreecollection ] { + Function [ function oci_collection_max ] { - Parameters [1] { - Parameter #0 [ $collection ] + Parameter #0 [ OCICollection $collection ] } + - Return [ int|false ] } - Function [ function ocinewcollection ] { + Function [ function ocicollmax ] { - - Parameters [3] { - Parameter #0 [ $connection_resource ] - Parameter #1 [ $type_name ] - Parameter #2 [ $schema_name ] + - Parameters [1] { + Parameter #0 [ OCICollection $collection ] } + - Return [ int|false ] } - Function [ function ocicollappend ] { + Function [ function oci_collection_trim ] { - Parameters [2] { - Parameter #0 [ $collection ] - Parameter #1 [ $value ] + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ int $num ] } + - Return [ bool ] } - Function [ function ocicollgetelem ] { + Function [ function ocicolltrim ] { - Parameters [2] { - Parameter #0 [ $collection ] - Parameter #1 [ $index ] + Parameter #0 [ OCICollection $collection ] + Parameter #1 [ int $num ] } + - Return [ bool ] } - Function [ function ocicollassignelem ] { + Function [ function oci_new_collection ] { - Parameters [3] { - Parameter #0 [ $collection ] - Parameter #1 [ $index ] - Parameter #2 [ $value ] + Parameter #0 [ $connection ] + Parameter #1 [ string $type_name ] + Parameter #2 [ ?string $schema = null ] } + - Return [ OCICollection|false ] } - Function [ function ocicollsize ] { + Function [ function ocinewcollection ] { - - Parameters [1] { - Parameter #0 [ $collection ] + - Parameters [3] { + Parameter #0 [ $connection ] + Parameter #1 [ string $type_name ] + Parameter #2 [ ?string $schema = null ] } + - Return [ OCICollection|false ] } - Function [ function ocicollmax ] { + Function [ function oci_register_taf_callback ] { - - Parameters [1] { - Parameter #0 [ $collection ] + - Parameters [2] { + Parameter #0 [ $connection ] + Parameter #1 [ ?callable $callback ] } + - Return [ bool ] } - Function [ function ocicolltrim ] { + Function [ function oci_unregister_taf_callback ] { - - Parameters [2] { - Parameter #0 [ $collection ] - Parameter #1 [ $number ] + - Parameters [1] { + Parameter #0 [ $connection ] } + - Return [ bool ] } } - Classes [2] { - Class [ class OCI-Lob ] { + Class [ class OCILob ] { - Constants [0] { } @@ -1006,164 +1116,186 @@ Extension [ extension #122 oci8 version 2.2.0 ] { } - Methods [22] { - Method [ public method load ] { + Method [ public method save ] { - - Parameters [0] { + - Parameters [2] { + Parameter #0 [ string $data ] + Parameter #1 [ int $offset = 0 ] } + - Tentative return [ bool ] } - Method [ public method tell ] { + Method [ public method import ] { - - Parameters [0] { + - Parameters [1] { + Parameter #0 [ string $filename ] } + - Tentative return [ bool ] } - Method [ public method truncate ] { + Method [ public method saveFile ] { - Parameters [1] { - Parameter #0 [ $length ] + Parameter #0 [ string $filename ] } + - Tentative return [ bool ] } - Method [ public method erase ] { + Method [ public method load ] { - - Parameters [2] { - Parameter #0 [ $offset ] - Parameter #1 [ $length ] + - Parameters [0] { } + - Tentative return [ string|false ] } - Method [ public method flush ] { + Method [ public method read ] { - Parameters [1] { - Parameter #0 [ $flag ] + Parameter #0 [ int $length ] } + - Tentative return [ string|false ] } - Method [ public method setbuffering ] { + Method [ public method eof ] { - - Parameters [1] { - Parameter #0 [ $mode ] + - Parameters [0] { } + - Tentative return [ bool ] } - Method [ public method getbuffering ] { + Method [ public method tell ] { - Parameters [0] { } + - Tentative return [ int|false ] } Method [ public method rewind ] { - Parameters [0] { } + - Tentative return [ bool ] } - Method [ public method read ] { + Method [ public method seek ] { - - Parameters [1] { - Parameter #0 [ $length ] + - Parameters [2] { + Parameter #0 [ int $offset ] + Parameter #1 [ int $whence = OCI_SEEK_SET ] } + - Tentative return [ bool ] } - Method [ public method eof ] { + Method [ public method size ] { - Parameters [0] { } + - Tentative return [ int|false ] } - Method [ public method seek ] { + Method [ public method write ] { - Parameters [2] { - Parameter #0 [ $offset ] - Parameter #1 [ $whence ] + Parameter #0 [ string $data ] + Parameter #1 [ ?int $length = null ] } + - Tentative return [ int|false ] } - Method [ public method write ] { + Method [ public method append ] { - - Parameters [2] { - Parameter #0 [ $string ] - Parameter #1 [ $length ] + - Parameters [1] { + Parameter #0 [ OCILob $from ] } + - Tentative return [ bool ] } - Method [ public method append ] { + Method [ public method truncate ] { - Parameters [1] { - Parameter #0 [ $lob_descriptor_from ] + Parameter #0 [ int $length = 0 ] } + - Tentative return [ bool ] } - Method [ public method size ] { + Method [ public method erase ] { - - Parameters [0] { + - Parameters [2] { + Parameter #0 [ ?int $offset = null ] + Parameter #1 [ ?int $length = null ] } + - Tentative return [ int|false ] } - Method [ public method writetofile ] { + Method [ public method flush ] { - - Parameters [3] { - Parameter #0 [ $filename ] - Parameter #1 [ $start ] - Parameter #2 [ $length ] + - Parameters [1] { + Parameter #0 [ int $flag = 0 ] } + - Tentative return [ bool ] } - Method [ public method export ] { + Method [ public method setBuffering ] { - - Parameters [3] { - Parameter #0 [ $filename ] - Parameter #1 [ $start ] - Parameter #2 [ $length ] + - Parameters [1] { + Parameter #0 [ bool $mode ] } + - Tentative return [ bool ] } - Method [ public method import ] { + Method [ public method getBuffering ] { - - Parameters [1] { - Parameter #0 [ $filename ] + - Parameters [0] { } + - Tentative return [ bool ] } - Method [ public method writetemporary ] { + Method [ public method writeToFile ] { - - Parameters [2] { - Parameter #0 [ $data ] - Parameter #1 [ $type ] + - Parameters [3] { + Parameter #0 [ string $filename ] + Parameter #1 [ ?int $offset = null ] + Parameter #2 [ ?int $length = null ] } + - Tentative return [ bool ] } - Method [ public method close ] { + Method [ public method export ] { - - Parameters [0] { + - Parameters [3] { + Parameter #0 [ string $filename ] + Parameter #1 [ ?int $offset = null ] + Parameter #2 [ ?int $length = null ] } + - Tentative return [ bool ] } - Method [ public method save ] { + Method [ public method writeTemporary ] { - Parameters [2] { - Parameter #0 [ $data ] - Parameter #1 [ $offset ] + Parameter #0 [ string $data ] + Parameter #1 [ int $type = OCI_TEMP_CLOB ] } + - Tentative return [ bool ] } - Method [ public method savefile ] { + Method [ public method close ] { - - Parameters [1] { - Parameter #0 [ $filename ] + - Parameters [0] { } + - Tentative return [ bool ] } Method [ public method free ] { - Parameters [0] { } + - Tentative return [ bool ] } } } - Class [ class OCI-Collection ] { + Class [ class OCICollection ] { - Constants [0] { } @@ -1178,58 +1310,66 @@ Extension [ extension #122 oci8 version 2.2.0 ] { } - Methods [8] { - Method [ public method append ] { + Method [ public method free ] { - - Parameters [1] { - Parameter #0 [ $value ] + - Parameters [0] { } + - Tentative return [ bool ] } - Method [ public method getelem ] { + Method [ public method append ] { - Parameters [1] { - Parameter #0 [ $index ] + Parameter #0 [ string $value ] } + - Tentative return [ bool ] } - Method [ public method assignelem ] { + Method [ public method getElem ] { - - Parameters [2] { - Parameter #0 [ $index ] - Parameter #1 [ $value ] + - Parameters [1] { + Parameter #0 [ int $index ] } + - Tentative return [ string|float|false|null ] } Method [ public method assign ] { - Parameters [1] { - Parameter #0 [ $collection_from ] + Parameter #0 [ OCICollection $from ] + } + - Tentative return [ bool ] + } + + Method [ public method assignElem ] { + + - Parameters [2] { + Parameter #0 [ int $index ] + Parameter #1 [ string $value ] } + - Tentative return [ bool ] } Method [ public method size ] { - Parameters [0] { } + - Tentative return [ int|false ] } Method [ public method max ] { - Parameters [0] { } + - Tentative return [ int|false ] } Method [ public method trim ] { - Parameters [1] { - Parameter #0 [ $number ] - } - } - - Method [ public method free ] { - - - Parameters [0] { + Parameter #0 [ int $num ] } + - Tentative return [ bool ] } } } diff --git a/oci8-2.0.8-conf.patch b/oci8-2.0.8-conf.patch deleted file mode 100644 index e25bde1..0000000 --- a/oci8-2.0.8-conf.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up php5.3-201104170830/ext/oci8/config.m4.remi-oci8 php5.3-201104170830/ext/oci8/config.m4 ---- config.m4.remi-oci8 2011-03-30 00:35:22.000000000 +0200 -+++ config.m4 2011-04-17 11:55:25.628871315 +0200 -@@ -291,6 +291,7 @@ if test "$PHP_OCI8" != "no"; then - - dnl Header directory for Instant Client SDK RPM install - OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/lib/oracle/\(.*\)/client\('${PHP_OCI8_IC_LIBDIR_SUFFIX}'\)*/lib[/]*$!/usr/include/oracle/\1/client\2!'` -+ OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/\(lib64\|lib\)/oracle/\(.*\)/\(client64\|client\)/lib[/]*$!/usr/include/oracle/\2/\3!'` - - dnl Header directory for Instant Client SDK zip file install - OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include diff --git a/php-pecl-oci8.spec b/php-pecl-oci8.spec index 0f8adf5..6050c02 100644 --- a/php-pecl-oci8.spec +++ b/php-pecl-oci8.spec @@ -1,46 +1,44 @@ # remirepo spec file for php-pecl-oci8 # -# Copyright (c) 2014-2020 Remi Collet +# Copyright (c) 2014-2024 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %{?scl: %scl_package php-pecl-oci8} -%{!?scl: %global _root_libdir %{_libdir}} - -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} -%global pecl_name oci8 -%global with_tests 0%{?_with_tests:1} -%global ini_name 40-%{pecl_name}.ini -%if 0%{?rhel} == 6 -%ifarch x86_64 -%global oraclever 18.5 -%else -%global oraclever 18.3 -%endif -%global oraclelib 18.1 -%else -%global oraclever 19.5 +%{!?scl: %global _root_prefix %{_prefix}} + +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%global pecl_name oci8 +%global ini_name 40-%{pecl_name}.ini +%global sources %{pecl_name}-%{version} +%global _configure ../%{sources}/configure + +%ifarch aarch64 +%global oraclever 19.23 +%global oraclemax 20 %global oraclelib 19.1 +%global oracledir 19.23 +%else +%global oraclever 23.4 +%global oraclemax 24 +%global oraclelib 23.1 +%global oracledir 23 %endif %global with_dtrace 1 Summary: Extension for Oracle Database Name: %{?scl_prefix}php-pecl-%{pecl_name} -Version: 2.2.0 -Release: 3%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Version: 3.4.0 +Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} -License: PHP +License: PHP-3.01 URL: https://pecl.php.net/package/%{pecl_name} -Source0: https://pecl.php.net/get/%{pecl_name}-%{version}.tgz +Source0: https://pecl.php.net/get/%{sources}.tgz -# Fix header/library detection -Patch0: %{pecl_name}-2.0.8-conf.patch - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: %{?scl_prefix}php-devel > 7 +BuildRequires: %{?scl_prefix}php-devel >= 8.2 BuildRequires: %{?scl_prefix}php-pear BuildRequires: oracle-instantclient-devel >= %{oraclever} %if %{with_dtrace} @@ -49,43 +47,24 @@ BuildRequires: systemtap-sdt-devel Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} -# Should requires libclntsh.so.12.1 but it's not provided by Oracle RPM. +%ifarch aarch64 +BuildRequires: oracle-instantclient%{oraclever}-devel +# Should requires libclntsh.so.19.1()(aarch-64), but it's not provided by Oracle RPM. +Requires: libclntsh.so.%{oraclelib} AutoReq: 0 - -Conflicts: %{?scl_prefix}php-%{pecl_name} < %{version} -Provides: %{?scl_prefix}php-%{pecl_name} = %{version} -Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} - -%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} -%if "%{php_version}" > "5.6" -Obsoletes: php56u-pecl-%{pecl_name} <= %{version} -Obsoletes: php56w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.0" -Obsoletes: php70u-pecl-%{pecl_name} <= %{version} -Obsoletes: php70w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.1" -Obsoletes: php71u-pecl-%{pecl_name} <= %{version} -Obsoletes: php71w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.2" -Obsoletes: php72u-pecl-%{pecl_name} <= %{version} -Obsoletes: php72w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.3" -Obsoletes: php73-pecl-%{pecl_name} <= %{version} -Obsoletes: php73w-pecl-%{pecl_name} <= %{version} -%endif +%else +BuildRequires: (oracle-instantclient-devel >= %{oraclever} with oracle-instantclient-devel < %{oraclemax}) %endif -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter private shared object -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} +%if "%{php_version}" > "8.4" +Obsoletes: %{?scl_prefix}php-%{pecl_name} < 8.4 +%else +Conflicts: %{?scl_prefix}php-%{pecl_name} < 8.4 %endif +Provides: %{?scl_prefix}php-%{pecl_name} = 1:%{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = 1:%{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} %description @@ -95,31 +74,23 @@ The extension is linked with Oracle client libraries %{oraclever} (Oracle Instant Client). For details, see Oracle's note "Oracle Client / Server Interoperability Support" (ID 207303.1). -You must install libclntsh.so.%{oraclelib} to use this package, provided -in the database installation, or in the free Oracle Instant Client -available from Oracle. - -Notice: -- %{?scl_prefix}php-oci8 provides oci8 and pdo_oci extensions from php sources. -- %name only provides oci8 extension. +You must install libclntsh.so.%{oraclelib} to use this package, +provided by Oracle Instant Client RPM available from Oracle on: +https://www.oracle.com/database/technologies/instant-client/downloads.html -Documentation is at http://php.net/oci8 +Documentation is at https://php.net/oci8 Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. %prep %setup -qc -mv %{pecl_name}-%{version} NTS - # don't install tests sed -e 's/role="test"/role="src"/' \ - %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ + -e '/LICENSE/s/role="doc"/role="src"/' \ -i package.xml -cd NTS -%patch0 -p0 -b .remi - +cd %{sources} # Check reported version (phpinfo), as this is often broken extver=$(sed -n '/#define PHP_OCI8_VERSION/{s/.* "//;s/".*$//;p}' php_oci8.h) if test "x${extver}" != "x%{version}%{?versuffix}"; then @@ -135,29 +106,29 @@ extension = %{pecl_name}.so ; Connection: Enables privileged connections using external ; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect +; https://php.net/oci8.privileged-connect ;oci8.privileged_connect = Off ; Connection: The maximum number of persistent OCI8 connections per ; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent +; https://php.net/oci8.max-persistent ;oci8.max_persistent = -1 ; Connection: The maximum number of seconds a process is allowed to ; maintain an idle persistent connection. Using -1 means idle ; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout +; https://php.net/oci8.persistent-timeout ;oci8.persistent_timeout = -1 ; Connection: The number of seconds that must pass before issuing a ; ping during oci_pconnect() to check the connection validity. When ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables ; pings completely. -; http://php.net/oci8.ping-interval +; https://php.net/oci8.ping-interval ;oci8.ping_interval = 60 ; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident +; for all pooled server requests with Oracle Database Resident ; Connection Pooling (DRCP). To use DRCP, this value should be set to ; the same string for all web servers running the same application, ; the database pool must be configured, and the connection string must @@ -171,24 +142,30 @@ extension = %{pecl_name}.so ; Tuning: This option enables statement caching, and specifies how ; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size +; https://php.net/oci8.statement-cache-size ;oci8.statement_cache_size = 20 -; Tuning: Enables statement prefetching and sets the default number of +; Tuning: Enables row prefetching and sets the default number of ; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch +; https://php.net/oci8.default-prefetch ;oci8.default_prefetch = 100 +; Tuning: Sets the amount of LOB data that is internally returned from +; Oracle Database when an Oracle LOB locator is initially retrieved as +; part of a query. Setting this can improve performance by reducing +; round-trips. +; https://php.net/oci8.prefetch-lob-size +; oci8.prefetch_lob_size = 0 + ; Compatibility. Using On means oci_close() will not close ; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics +; https://php.net/oci8.old-oci-close-semantics ;oci8.old_oci_close_semantics = Off EOF - +mkdir NTS %if %{with_zts} -# duplicate for ZTS build -cp -pr NTS ZTS +mkdir ZTS %endif @@ -201,23 +178,20 @@ export PHP_DTRACE=yes peclconf() { %configure \ -%ifarch x86_64 - --with-oci8=shared,instantclient,%{_root_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever} \ -%else - --with-oci8=shared,instantclient,%{_root_libdir}/oracle/%{oraclever}/client/lib,%{oraclever} \ -%endif + --with-oci8=shared,instantclient,%{_root_prefix}/lib/oracle/%{oracledir}/client64/lib,%{oraclever} \ --with-php-config=$1 } -cd NTS -%{_bindir}/phpize -peclconf %{_bindir}/php-config +cd %{sources} +%{__phpize} + +cd ../NTS +peclconf %{__phpconfig} make %{?_smp_mflags} %if %{with_zts} cd ../ZTS -%{_bindir}/zts-phpize -peclconf %{_bindir}/zts-php-config +peclconf %{__ztsphpconfig} make %{?_smp_mflags} %endif @@ -240,65 +214,26 @@ install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} # Documentation for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done %check -cd NTS - : Minimal load test for NTS extension -%{_bindir}/php --no-php-ini \ +%{__php} --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} - -%if %{with_tests} -exprt NO_INTERACTION=1 -: Upstream test suite for NTS extension -make test -%else -: Upstream test suite disabled -%endif + --modules | grep '^%{pecl_name}$' %if %{with_zts} -cd ../ZTS - : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} - -%if %{with_tests} -: Upstream test suite for ZTS extension -make test -%else -: Upstream test suite disabled -%endif -%endif - - -%if 0%{?fedora} < 24 && 0%{?rhel} < 8 -# when pear installed alone, after us -%triggerin -- %{?scl_prefix}php-pear -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -# posttrans as pear can be installed after us -%posttrans -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -%postun -if [ $1 -eq 0 -a -x %{__pecl} ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi + --modules | grep '^%{pecl_name}$' %endif %files -%{?_licensedir:%license NTS/LICENSE} +%license %{sources}/LICENSE %doc %{pecl_docdir}/%{pecl_name} %{pecl_xmldir}/%{name}.xml @@ -312,6 +247,11 @@ fi %changelog +* Thu Jul 25 2024 Remi Collet - 3.4.0-1 +- update to 3.4.0 +- use oracle client library version 23.4 on x86_64, 19.23 on aarch64 +- build out of sources tree + * Thu Feb 20 2020 Remi Collet - 2.2.0-3 - use oracle client library version 19.5 -- cgit