sixd Fri Jun 29 15:02:38 2007 UTC
Modified files:
/php-src/ext/pdo_oci/tests pecl_bug_6364.phpt
Log:
MFB. Test for old bug fixed in some previous, unknown change
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_oci/tests/pecl_bug_6364.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pdo_oci/tests/pecl_bug_6364.phpt
diff -u /dev/null php-src/ext/pdo_oci/tests/pecl_bug_6364.phpt:1.2
--- /dev/null Fri Jun 29 15:02:38 2007
+++ php-src/ext/pdo_oci/tests/pecl_bug_6364.phpt Fri Jun 29 15:02:38 2007
@@ -0,0 +1,97 @@
+--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();
+
[EMAIL PROTECTED]>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
+--UEXPECTF--
+unicode(4) "val4"
+unicode(4) "val5"
+array(10) {
+ ["c1"]=>
+ unicode(2) "p1"
+ [0]=>
+ unicode(2) "p1"
+ ["c2"]=>
+ unicode(2) "p2"
+ [1]=>
+ unicode(2) "p2"
+ ["c3"]=>
+ unicode(2) "p3"
+ [2]=>
+ unicode(2) "p3"
+ ["c4"]=>
+ NULL
+ [3]=>
+ NULL
+ ["c5"]=>
+ NULL
+ [4]=>
+ NULL
+}
+Done
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php