PHP  
 PHP_HEAD
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

Test Failure Report for ext/oci8/tests/imp_res_get_dbmsoutput.phpt ('Oracle Database 12c Implicit Result Sets: oci_get_implicit_resultset: interleaved with DBMS_OUTPUT')

Script

1: <?php
2:
3:
require(dirname(__FILE__).'/connect.inc');
4:
5:
// Initialization
6:
7:
$stmtarray = array(
8:     
"drop table imp_res_get_dbmsoutput_tab_1",
9:     
"create table imp_res_get_dbmsoutput_tab_1 (c1 number, c2 varchar2(10))",
10:     
"insert into imp_res_get_dbmsoutput_tab_1 values (1, 'abcde')",
11:     
"insert into imp_res_get_dbmsoutput_tab_1 values (2, 'fghij')",
12:     
"insert into imp_res_get_dbmsoutput_tab_1 values (3, 'klmno')",
13:
14:     
"drop table imp_res_get_dbmsoutput_tab_2",
15:     
"create table imp_res_get_dbmsoutput_tab_2 (c3 varchar2(1))",
16:     
"insert into imp_res_get_dbmsoutput_tab_2 values ('t')",
17:     
"insert into imp_res_get_dbmsoutput_tab_2 values ('u')",
18:     
"insert into imp_res_get_dbmsoutput_tab_2 values ('v')",
19:
20:     
"create or replace procedure imp_res_get_dbmsoutput_proc as
21:       c1 sys_refcursor;
22:     begin
23:       dbms_output.put_line('Line 1');
24:       open c1 for select * from imp_res_get_dbmsoutput_tab_1 order by 1;
25:       dbms_sql.return_result(c1);
26:       dbms_output.put_line('Line 2');
27:       open c1 for select * from imp_res_get_dbmsoutput_tab_2 order by 1;
28:       dbms_sql.return_result(c1);
29:       dbms_output.put_line('Line 3');
30:       open c1 for select * from dual;
31:       dbms_sql.return_result (c1);
32:     end;"
33:
);
34:
35:
oci8_test_sql_execute($c$stmtarray);
36:
37:
// Turn DBMS_OUTPUT on
38:
function setserveroutputon($c)
39: {
40:     
$s oci_parse($c"begin dbms_output.enable(null); end;");
41:     
oci_execute($s);
42: }
43:
44: function 
getdbmsoutput_do($c)
45: {
46:     
$s oci_parse($c"begin dbms_output.get_line(:ln, :st); end;");
47:     
oci_bind_by_name($s":ln"$ln100);
48:     
oci_bind_by_name($s":st"$st, -1SQLT_INT);
49:     
$res false;
50:     while ((
$succ oci_execute($s)) && !$st) {
51:         
$res[] = $ln;  // append each line to the array
52:     
}
53:     return 
$res;
54: }
55:
56:
setserveroutputon($c);
57:
58:
// Run Test
59:
60:
echo "Test 1\n";
61:
62:
$s oci_parse($c"begin imp_res_get_dbmsoutput_proc(); end;");
63:
oci_execute($s);
64:
65:
var_dump(getdbmsoutput_do($c));
66:
67: while ((
$s1 oci_get_implicit_resultset($s))) {
68:     while ((
$row oci_fetch_array($s1OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
69:         foreach (
$row as $item) {
70:             echo 
"  ".$item;
71:         }
72:         echo 
"\n";
73:     }
74: }
75:
76: echo 
"Test 2\n";
77:
78:
$s oci_parse($c"begin imp_res_get_dbmsoutput_proc(); end;");
79:
oci_execute($s);
80:
81: while ((
$s1 oci_get_implicit_resultset($s))) {
82:     while ((
$row oci_fetch_array($s1OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
83:         foreach (
$row as $item) {
84:             echo 
"  ".$item;
85:         }
86:         echo 
"\n";
87:     }
88: }
89:
90:
var_dump(getdbmsoutput_do($c));
91:
92:
// Clean up
93:
94:
$stmtarray = array(
95:     
"drop procedure imp_res_get_dbmsoutput_proc",
96:     
"drop table imp_res_get_dbmsoutput_tab_1",
97:     
"drop table imp_res_get_dbmsoutput_tab_2"
98:
);
99:
100:
oci8_test_sql_execute($c$stmtarray);
101:
102:
?>
103:
===DONE===
104:

Expected

Test 1
array(3) {
  [0]=>
  string(6) "Line 1"
  [1]=>
  string(6) "Line 2"
  [2]=>
  string(6) "Line 3"
}
  1  abcde
  2  fghij
  3  klmno
  t
  u
  v
  X
Test 2
  1  abcde
  2  fghij
  3  klmno
  t
  u
  v
  X
array(3) {
  [0]=>
  string(6) "Line 1"
  [1]=>
  string(6) "Line 2"
  [2]=>
  string(6) "Line 3"
}
===DONE===

Output

***********************************************************************
Fatal NI connect error 12541, connecting to:
 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=XE)(CID=(PROGRAM=php)(HOST=nex2.php.net)(USER=nlopess)))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))

  VERSION INFORMATION:
	TNS for Linux: Version 11.2.0.2.0 - Beta
	TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.2.0 - Beta
  Time: 17-JUN-2018 05:49:07
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12541
    TNS-12541: TNS:no listener
    ns secondary err code: 12560
    nt main err code: 511
    TNS-00511: No listener

Fatal error: connect.inc: Failed to connect as 'system' to 'localhost/XE': ORA-12541: TNS:no listener in /var/php_gcov/PHP_HEAD/ext/oci8/tests/connect.inc on line 14
    nt secondary err code: 111
    nt OS err code: 0

Diff

001+ ***********************************************************************
002+ Fatal NI connect error 12541, connecting to:
003+  (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=XE)(CID=(PROGRAM=php)(HOST=nex2.php.net)(USER=nlopess)))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
004+ 
005+   VERSION INFORMATION:
006+ 	TNS for Linux: Version 11.2.0.2.0 - Beta
007+ 	TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.2.0 - Beta
008+   Time: 17-JUN-2018 05:49:07
009+   Tracing not turned on.
010+   Tns error struct:
011+     ns main err code: 12541
012+     TNS-12541: TNS:no listener
013+     ns secondary err code: 12560
014+     nt main err code: 511
015+     TNS-00511: No listener
016+ 
017+ Fatal error: connect.inc: Failed to connect as 'system' to 'localhost/XE': ORA-12541: TNS:no listener in /var/php_gcov/PHP_HEAD/ext/oci8/tests/connect.inc on line 14
018+     nt secondary err code: 111
019+     nt OS err code: 0
001- Test 1
002- array(3) {
003-   [0]=>
004-   string(6) "Line 1"
005-   [1]=>
006-   string(6) "Line 2"
007-   [2]=>
008-   string(6) "Line 3"
009- }
010-   1  abcde
011-   2  fghij
012-   3  klmno
013-   t
014-   u
015-   v
016-   X
017- Test 2
018-   1  abcde
019-   2  fghij
020-   3  klmno
021-   t
022-   u
023-   v
024-   X
025- array(3) {
026-   [0]=>
027-   string(6) "Line 1"
028-   [1]=>
029-   string(6) "Line 2"
030-   [2]=>
031-   string(6) "Line 3"
032- }
033- ===DONE===

 

Generated at Mon, 18 Jun 2018 17:33:50 +0000 (20 hours ago)

Copyright © 2005-2018 The PHP Group
All rights reserved.