cvs: php-src(PHP_5_2) /ext/oci8/tests bind_empty.phpt oci_execute_segfault.phpt

From: Date: Wed, 31 Jan 2007 13:56:16 +0000
Subject: cvs: php-src(PHP_5_2) /ext/oci8/tests bind_empty.phpt oci_execute_segfault.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-42918@lists.php.net to get a copy of this message
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

« previous php.cvs (#42918) next »