mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
MFH: improve tests
This commit is contained in:
parent
4f6f150490
commit
cdaff68610
@ -4,7 +4,7 @@ binding empty values
|
||||
<?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 @@ $statement = oci_parse($c, $create);
|
||||
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 @@ echo "Done\n";
|
||||
|
||||
?>
|
||||
--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
|
||||
|
@ -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_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);
|
||||
}
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user