Annotation of embedaddon/php/ext/pdo_oci/tests/pecl_bug_6364.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: PECL PDO_OCI Bug #6364 (segmentation fault on stored procedure call with OUT binds)
                      3: --SKIPIF--
                      4: <?php
                      5: if (!extension_loaded('pdo') || !extension_loaded('pdo_oci')) die('skip not loaded');
                      6: require(dirname(__FILE__).'/../../pdo/tests/pdo_test.inc');
                      7: PDOTest::skip();
                      8: ?>
                      9: --FILE--
                     10: <?php
                     11: 
                     12: require dirname(__FILE__) . '/../../pdo/tests/pdo_test.inc';
                     13: $dbh = PDOTest::factory();
                     14: 
                     15: @$dbh->exec ("drop table bug_6364_t");
                     16: 
                     17: $dbh->exec ("create table bug_6364_t (c1 varchar2(10), c2 varchar2(10), c3 varchar2(10), c4 varchar2(10), c5 varchar2(10))");
                     18: 
                     19: $dbh->exec ("create or replace procedure bug_6364_sp(p1 IN varchar2, p2 IN varchar2, p3 IN varchar2, p4 OUT varchar2, p5 OUT varchar2) as begin insert into bug_6364_t (c1, c2, c3) values (p1, p2, p3); p4 := 'val4'; p5 := 'val5'; end;");
                     20: 
                     21: $stmt = $dbh->prepare("call bug_6364_sp('p1','p2','p3',?,?)");
                     22: 
                     23: $out_param1 = "a";
                     24: $out_param2 = "a";
                     25: 
                     26: $stmt->bindParam(1, $out_param1,PDO::PARAM_STR, 1024);
                     27: $stmt->bindParam(2, $out_param2,PDO::PARAM_STR, 1024);
                     28: 
                     29: $stmt->execute() or die ("Execution error: " . var_dump($dbh->errorInfo()));
                     30: 
                     31: var_dump($out_param1);
                     32: var_dump($out_param2);
                     33: 
                     34: foreach ($dbh->query("select * from bug_6364_t") as $row) {
                     35:        var_dump($row);
                     36: }
                     37: 
                     38: print "Done\n";
                     39: 
                     40: // Cleanup
                     41: $dbh->exec ("drop procedure bug_6364_sp");
                     42: $dbh->exec ("drop table bug_6364_t");
                     43: 
                     44: ?>
                     45: 
                     46: --EXPECTF--
                     47: string(4) "val4"
                     48: string(4) "val5"
                     49: array(10) {
                     50:   ["c1"]=>
                     51:   string(2) "p1"
                     52:   [0]=>
                     53:   string(2) "p1"
                     54:   ["c2"]=>
                     55:   string(2) "p2"
                     56:   [1]=>
                     57:   string(2) "p2"
                     58:   ["c3"]=>
                     59:   string(2) "p3"
                     60:   [2]=>
                     61:   string(2) "p3"
                     62:   ["c4"]=>
                     63:   NULL
                     64:   [3]=>
                     65:   NULL
                     66:   ["c5"]=>
                     67:   NULL
                     68:   [4]=>
                     69:   NULL
                     70: }
                     71: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>