File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
ext /
pdo_oci /
tests /
pecl_bug_6364.phpt
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Feb 21 23:47:59 2012 UTC (12 years, 6 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
v5_3_10,
HEAD
php
--TEST--
PECL PDO_OCI Bug #6364 (segmentation fault on stored procedure call with OUT binds)
--SKIPIF--
<?php
if (!extension_loaded('pdo') || !extension_loaded('pdo_oci')) die('skip not loaded');
require(dirname(__FILE__).'/../../pdo/tests/pdo_test.inc');
PDOTest::skip();
?>
--FILE--
<?php
require dirname(__FILE__) . '/../../pdo/tests/pdo_test.inc';
$dbh = PDOTest::factory();
@$dbh->exec ("drop table bug_6364_t");
$dbh->exec ("create table bug_6364_t (c1 varchar2(10), c2 varchar2(10), c3 varchar2(10), c4 varchar2(10), c5 varchar2(10))");
$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;");
$stmt = $dbh->prepare("call bug_6364_sp('p1','p2','p3',?,?)");
$out_param1 = "a";
$out_param2 = "a";
$stmt->bindParam(1, $out_param1,PDO::PARAM_STR, 1024);
$stmt->bindParam(2, $out_param2,PDO::PARAM_STR, 1024);
$stmt->execute() or die ("Execution error: " . var_dump($dbh->errorInfo()));
var_dump($out_param1);
var_dump($out_param2);
foreach ($dbh->query("select * from bug_6364_t") as $row) {
var_dump($row);
}
print "Done\n";
// Cleanup
$dbh->exec ("drop procedure bug_6364_sp");
$dbh->exec ("drop table bug_6364_t");
?>
--EXPECTF--
string(4) "val4"
string(4) "val5"
array(10) {
["c1"]=>
string(2) "p1"
[0]=>
string(2) "p1"
["c2"]=>
string(2) "p2"
[1]=>
string(2) "p2"
["c3"]=>
string(2) "p3"
[2]=>
string(2) "p3"
["c4"]=>
NULL
[3]=>
NULL
["c5"]=>
NULL
[4]=>
NULL
}
Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>