tony2001 Wed Jan 31 13:56:16 2007 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/oci8/tests bind_empty.phpt oci_execute_segfault.phpt
Log:
MFH: improve tests
http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/bind_empty.phpt?r1=1.1.2.4&r2=1.1.2.4.2.1&diff_format=u
Index: php-src/ext/oci8/tests/bind_empty.phpt
diff -u php-src/ext/oci8/tests/bind_empty.phpt:1.1.2.4
php-src/ext/oci8/tests/bind_empty.phpt:1.1.2.4.2.1
--- php-src/ext/oci8/tests/bind_empty.phpt:1.1.2.4 Tue Feb 7 14:11:31 2006
+++ php-src/ext/oci8/tests/bind_empty.phpt Wed Jan 31 13:56:16 2007
@@ -4,7 +4,7 @@
<?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
--FILE--
<?php
-
+
require dirname(__FILE__).'/connect.inc';
$drop = "DROP table bind_test";
@@ -16,18 +16,57 @@
oci_execute($statement);
+echo "Test 1\n";
+
$name = null;
$stmt = oci_parse($c, "UPDATE bind_test SET name=:name");
oci_bind_by_name($stmt, ":name", $name);
-$res = oci_execute($stmt);
+var_dump(oci_execute($stmt));
+
+echo "Test 2\n";
$name = "";
$stmt = oci_parse($c, "UPDATE bind_test SET name=:name");
oci_bind_by_name($stmt, ":name", $name);
+var_dump(oci_execute($stmt));
+
+echo "Test 3\n";
+
+$stmt = oci_parse($c, "INSERT INTO bind_test (NAME) VALUES ('abc')");
$res = oci_execute($stmt);
+$stmt = oci_parse($c, "INSERT INTO bind_test (NAME) VALUES ('def')");
+$res = oci_execute($stmt);
+
+$name = null;
+$stmt = oci_parse($c, "UPDATE bind_test SET name=:name WHERE NAME = 'abc'");
+oci_bind_by_name($stmt, ":name", $name);
+
+var_dump(oci_execute($stmt));
+
+$stid = oci_parse($c, "select * from bind_test order by 1");
+oci_execute($stid);
+oci_fetch_all($stid, $res);
+var_dump($res);
+
+echo "Test 4\n";
+
+$name = "";
+$stmt = oci_parse($c, "UPDATE bind_test SET name=:name WHERE NAME = 'def'");
+oci_bind_by_name($stmt, ":name", $name);
+
+var_dump(oci_execute($stmt));
+
+$stid = oci_parse($c, "select * from bind_test order by 1");
+oci_execute($stid);
+oci_fetch_all($stid, $res);
+var_dump($res);
+
+
+// Clean up
+
$drop = "DROP table bind_test";
$statement = oci_parse($c, $drop);
@oci_execute($statement);
@@ -36,4 +75,30 @@
?>
--EXPECTF--
+Test 1
+bool(true)
+Test 2
+bool(true)
+Test 3
+bool(true)
+array(1) {
+ ["NAME"]=>
+ array(2) {
+ [0]=>
+ string(3) "def"
+ [1]=>
+ NULL
+ }
+}
+Test 4
+bool(true)
+array(1) {
+ ["NAME"]=>
+ array(2) {
+ [0]=>
+ NULL
+ [1]=>
+ NULL
+ }
+}
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/oci_execute_segfault.phpt?r1=1.1.2.3&r2=1.1.2.3.2.1&diff_format=u
Index: php-src/ext/oci8/tests/oci_execute_segfault.phpt
diff -u php-src/ext/oci8/tests/oci_execute_segfault.phpt:1.1.2.3
php-src/ext/oci8/tests/oci_execute_segfault.phpt:1.1.2.3.2.1
--- php-src/ext/oci8/tests/oci_execute_segfault.phpt:1.1.2.3 Tue Dec 6
19:28:25 2005
+++ php-src/ext/oci8/tests/oci_execute_segfault.phpt Wed Jan 31 13:56:16 2007
@@ -1,30 +1,48 @@
--TEST--
-oci_execute() segfault after repeated bind
+oci_execute() segfault after repeated bind of LOB descriptor
--SKIPIF--
<?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
--FILE--
<?php
-
+
require dirname(__FILE__).'/connect.inc';
require dirname(__FILE__).'/create_table.inc';
$ora_sql = "INSERT INTO
- ".$table_name." (blob, clob)
+ ".$schema.$table_name." (blob, clob)
VALUES (empty_blob(), empty_clob())
RETURNING
blob
INTO :v_blob ";
-$s = oci_parse($c,$ora_sql);
-$blob = oci_new_descriptor($c,OCI_D_LOB);
-oci_bind_by_name($s,":v_blob", $blob,-1,OCI_B_BLOB);
-oci_execute($s);
+$s = oci_parse($c, $ora_sql);
+$blob = oci_new_descriptor($c, OCI_D_LOB);
+oci_bind_by_name($s, ":v_blob", $blob, -1, OCI_B_BLOB);
+oci_execute($s, OCI_DEFAULT);
+var_dump($blob->save("some binary data"));
+
+oci_bind_by_name($s, ":v_blob", $blob, -1, OCI_B_BLOB);
+oci_execute($s, OCI_DEFAULT);
+var_dump($blob->save("some more binary data"));
+
+$query = 'SELECT blob, DBMS_LOB.GETLENGTH(blob) FROM '.$schema.$table_name.'
ORDER BY 2';
+
+$s = oci_parse ($c, $query);
+oci_execute($s, OCI_DEFAULT);
+
+while ($arr = oci_fetch_assoc($s)) {
+ $result = $arr['BLOB']->load();
+ var_dump($result);
+}
-oci_bind_by_name($s,":v_blob", $blob,-1,OCI_B_BLOB);
-oci_execute($s);
+require dirname(__FILE__).'/drop_table.inc';
echo "Done\n";
?>
--EXPECT--
+bool(true)
+bool(true)
+string(16) "some binary data"
+string(21) "some more binary data"
Done
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php