diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index fa5b7870c72..7684d8f78f3 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -423,12 +423,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_client_info, 0, 0, 2) ZEND_ARG_INFO(0, client_information) ZEND_END_ARG_INFO() -#ifdef WAITIING_ORACLE_BUG_16695981_FIX ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_set_db_operation, 0, 0, 2) ZEND_ARG_INFO(0, connection_resource) ZEND_ARG_INFO(0, action) ZEND_END_ARG_INFO() -#endif ZEND_BEGIN_ARG_INFO_EX(arginfo_oci_password_change, 0, 0, 4) ZEND_ARG_INFO(0, connection_resource_or_connection_string) @@ -672,9 +670,7 @@ PHP_FUNCTION(oci_statement_type); PHP_FUNCTION(oci_num_rows); PHP_FUNCTION(oci_set_prefetch); PHP_FUNCTION(oci_set_client_identifier); -#ifdef WAITIING_ORACLE_BUG_16695981_FIX PHP_FUNCTION(oci_set_db_operation); -#endif PHP_FUNCTION(oci_set_edition); PHP_FUNCTION(oci_set_module_name); PHP_FUNCTION(oci_set_action); @@ -777,9 +773,7 @@ static const zend_function_entry php_oci_functions[] = { PHP_FE(oci_new_descriptor, arginfo_oci_new_descriptor) PHP_FE(oci_set_prefetch, arginfo_oci_set_prefetch) PHP_FE(oci_set_client_identifier, arginfo_oci_set_client_identifier) -#ifdef WAITIING_ORACLE_BUG_16695981_FIX PHP_FE(oci_set_db_operation, arginfo_oci_set_db_operation) -#endif PHP_FE(oci_set_edition, arginfo_oci_set_edition) PHP_FE(oci_set_module_name, arginfo_oci_set_module_name) PHP_FE(oci_set_action, arginfo_oci_set_action) diff --git a/ext/oci8/oci8_interface.c b/ext/oci8/oci8_interface.c index 922a294b747..e429017cc15 100644 --- a/ext/oci8/oci8_interface.c +++ b/ext/oci8/oci8_interface.c @@ -2027,9 +2027,9 @@ PHP_FUNCTION(oci_set_client_info) } /* }}} */ -#ifdef WAITIING_ORACLE_BUG_16695981_FIX /* {{{ proto bool oci_set_db_operation(resource connection, string value) - Sets the "DB operation" on the connection for Oracle end-to-end tracing */ + Sets the "DB operation" on the connection for Oracle end-to-end tracing. + For history, see Oracle bug 16695981 */ PHP_FUNCTION(oci_set_db_operation) { #if (OCI_MAJOR_VERSION > 11) @@ -2058,7 +2058,6 @@ PHP_FUNCTION(oci_set_db_operation) #endif } /* }}} */ -#endif /* WAITIING_ORACLE_BUG_16695981_FIX */ /* {{{ proto bool oci_password_change(resource connection, string username, string old_password, string new_password) Changes the password of an account */ diff --git a/ext/oci8/package.xml b/ext/oci8/package.xml index 0cf046eea6e..1adf6903d1b 100644 --- a/ext/oci8/package.xml +++ b/ext/oci8/package.xml @@ -67,6 +67,7 @@ Interoperability Support" (ID 207303.1) for details. This version is for PHP 7 only. Fixed bug #76804 (oci_pconnect with OCI_CRED_EXT not working). (KoenigsKind) +Support setting Oracle Database 'DBOP' end-to-end-tracing attribute. (Requires Oracle 12.2 or later) Fixed installation on 7.3. Internal change: Convert some parameter parsing to the Fast Parameter Parsing API. diff --git a/ext/oci8/tests/db_op_1.phpt b/ext/oci8/tests/db_op_1.phpt index b3dc1ef0872..b10ee9a9844 100644 --- a/ext/oci8/tests/db_op_1.phpt +++ b/ext/oci8/tests/db_op_1.phpt @@ -16,10 +16,6 @@ preg_match('/^[[:digit:]]+/', oci_client_version(), $matches); if (!(isset($matches[0]) && $matches[0] >= 12)) { die("skip works only with Oracle 12c or greater version of Oracle client libraries"); } -if (!function_exists('oci_set_db_operation')) -{ - die("skip function oci_set_db_operation() does not exist"); -} ?> --FILE-- ===DONE=== ---XFAIL-- -Fails due to Oracle Bug 16695981 --EXPECT-- Test 1 array(1) { ["DUMMY"]=> string(1) "X" } -Test 2 array(1) { ["DUMMY"]=> string(1) "X" } -Test 3 -array(2) { +array(1) { ["DBOP_NAME"]=> - string(7) "db_op_2a" + string(9) "db_op_2_b" +} +Test 2 +array(1) { + ["'DBOPTEST'"]=> + string(8) "dboptest" +} +array(2) { + ["SQL_TEXT"]=> + string(121) "select /*+ MONITOR */ sql_text, dbop_name from v$sql_monitor where sql_text like '%dboptest2%' order by dbop_exec_id desc" + ["DBOP_NAME"]=> + NULL } ===DONE===