mirror of
https://github.com/php/php-src.git
synced 2025-08-21 01:45:16 +02:00
Merge branch 'PHP-7.3'
This commit is contained in:
commit
36efc39db1
5 changed files with 27 additions and 26 deletions
|
@ -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)
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -67,6 +67,7 @@ Interoperability Support" (ID 207303.1) for details.
|
|||
<notes>
|
||||
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.
|
||||
</notes>
|
||||
|
|
|
@ -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--
|
||||
<?php
|
||||
|
@ -40,7 +36,7 @@ function dq($c, $q)
|
|||
}
|
||||
|
||||
oci_set_db_operation($c, "db_op_1");
|
||||
dq($c, 'select * from dual');
|
||||
dq($c, 'select /*+ MONITOR */ * from dual');
|
||||
|
||||
dq($c, 'select dbop_name from v$sql_monitor where dbop_name is not null order by dbop_exec_id desc');
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
--TEST--
|
||||
oci_set_db_operation: basic test for end-to-end tracing
|
||||
oci_set_db_operation: test DBOP for end-to-end tracing
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded('oci8')) die ("skip no oci8 extension");
|
||||
|
@ -35,34 +35,45 @@ function dq($c, $q)
|
|||
|
||||
echo "Test 1\n";
|
||||
oci_set_db_operation($c, "db_op_2_a");
|
||||
dq($c, 'select * from dual');
|
||||
dq($c, 'select /*+ MONITOR */ * from dual');
|
||||
|
||||
oci_set_db_operation($c, "db_op_2_b");
|
||||
dq($c, 'select /*+ MONITOR */ * from dual');
|
||||
|
||||
dq($c, 'select dbop_name from v$sql_monitor where dbop_name like \'db_op_2%\' order by dbop_exec_id desc');
|
||||
|
||||
echo "Test 2\n";
|
||||
oci_set_db_operation($c, "db_op_2_b");
|
||||
dq($c, 'select * from dual');
|
||||
oci_set_db_operation($c, "");
|
||||
dq($c, 'select /*+ MONITOR */ \'dboptest\' from dual');
|
||||
|
||||
echo "Test 3\n";
|
||||
dq($c, 'select dbop_name from v$sql_monitor where dbop_name like \'db_op2%\' order by dbop_exec_id desc');
|
||||
dq($c, 'select sql_text, dbop_name from v$sql_monitor where sql_text like \'%dboptest2%\' order by dbop_exec_id desc');
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
<?php exit(0); ?>
|
||||
--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===
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue