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

Reply via email to