--TEST--
Array fetch CLOB and BLOB
--SKIPIF--
<?php
$target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
require(dirname(__FILE__).'/skipif.inc');
?>
--FILE--
<?php
require dirname(__FILE__).'/connect.inc';
require dirname(__FILE__).'/create_table.inc';
echo "Test 1: CLOB\n";
$ora_sql = "INSERT INTO
".$schema.$table_name." (clob)
VALUES (empty_clob())
RETURNING
clob
INTO :v_clob ";
$s = oci_parse($c,$ora_sql);
$clob = oci_new_descriptor($c,OCI_DTYPE_LOB);
oci_bind_by_name($s,":v_clob", $clob,-1,OCI_B_CLOB);
oci_execute($s, OCI_DEFAULT);
var_dump($clob->save("clob test 1"));
oci_execute($s, OCI_DEFAULT);
var_dump($clob->save("clob test 2"));
oci_execute($s, OCI_DEFAULT);
var_dump($clob->save("clob test 3"));
$s = oci_parse($c,"select clob from ".$schema.$table_name);
var_dump(oci_execute($s));
oci_fetch_all($s, $res);
var_dump($res);
echo "Test 1b\n";
$s = oci_parse($c, "select clob from ".$schema.$table_name);
var_dump(oci_execute($s, OCI_DEFAULT));
while ($row = oci_fetch_array($s, OCI_ASSOC)) {
var_dump($row);
$result = $row['CLOB']->load();
var_dump($result);
}
require dirname(__FILE__).'/drop_table.inc';
echo "Test 2: BLOB\n";
require dirname(__FILE__).'/create_table.inc';
$ora_sql = "INSERT INTO
".$schema.$table_name." (blob)
VALUES (empty_blob())
RETURNING
blob
INTO :v_blob ";
$s = oci_parse($c,$ora_sql);
$blob = oci_new_descriptor($c,OCI_DTYPE_LOB);
oci_bind_by_name($s,":v_blob", $blob,-1,OCI_B_BLOB);
oci_execute($s, OCI_DEFAULT);
var_dump($blob->save("blob test 1"));
oci_execute($s, OCI_DEFAULT);
var_dump($blob->save("blob test 2"));
oci_execute($s, OCI_DEFAULT);
var_dump($blob->save("blob test 3"));
$s = oci_parse($c, "select blob from ".$schema.$table_name);
var_dump(oci_execute($s));
oci_fetch_all($s, $res);
var_dump($res);
echo "Test 2b\n";
$s = oci_parse($c, "select blob from ".$schema.$table_name);
var_dump(oci_execute($s, OCI_DEFAULT));
while ($row = oci_fetch_array($s, OCI_ASSOC)) {
var_dump($row);
$result = $row['BLOB']->load();
var_dump($result);
}
require dirname(__FILE__).'/drop_table.inc';
echo "Done\n";
?>
--EXPECTF--
Test 1: CLOB
bool(true)
bool(true)
bool(true)
bool(true)
array(1) {
["CLOB"]=>
array(3) {
[0]=>
string(11) "clob test 1"
[1]=>
string(11) "clob test 2"
[2]=>
string(11) "clob test 3"
}
}
Test 1b
bool(true)
array(1) {
["CLOB"]=>
object(OCI-Lob)#2 (1) {
["descriptor"]=>
resource(%d) of type (oci8 descriptor)
}
}
string(11) "clob test 1"
array(1) {
["CLOB"]=>
object(OCI-Lob)#3 (1) {
["descriptor"]=>
resource(%d) of type (oci8 descriptor)
}
}
string(11) "clob test 2"
array(1) {
["CLOB"]=>
object(OCI-Lob)#2 (1) {
["descriptor"]=>
resource(%d) of type (oci8 descriptor)
}
}
string(11) "clob test 3"
Test 2: BLOB
bool(true)
bool(true)
bool(true)
bool(true)
array(1) {
["BLOB"]=>
array(3) {
[0]=>
string(11) "blob test 1"
[1]=>
string(11) "blob test 2"
[2]=>
string(11) "blob test 3"
}
}
Test 2b
bool(true)
array(1) {
["BLOB"]=>
object(OCI-Lob)#3 (1) {
["descriptor"]=>
resource(%d) of type (oci8 descriptor)
}
}
string(11) "blob test 1"
array(1) {
["BLOB"]=>
object(OCI-Lob)#4 (1) {
["descriptor"]=>
resource(%d) of type (oci8 descriptor)
}
}
string(11) "blob test 2"
array(1) {
["BLOB"]=>
object(OCI-Lob)#3 (1) {
["descriptor"]=>
resource(%d) of type (oci8 descriptor)
}
}
string(11) "blob test 3"
Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>