Annotation of embedaddon/php/ext/pdo_oci/tests/pecl_bug_6364.phpt, revision 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>