--TEST--
Basic XMLType test
--SKIPIF--
true, 'timesten' => false); // test runs on these DBs
require(dirname(__FILE__).'/skipif.inc');
?>
--FILE--
1
Big
12345
20
Curved
Red
N
Tiny
Steel
'))"
);
oci8_test_sql_execute($c, $stmtarray);
function do_query($c)
{
$s = oci_parse($c, 'select XMLType.getClobVal(xt_spec)
from xtt where xt_id = 1');
oci_execute($s);
$row = oci_fetch_row($s);
$data = $row[0]->load();
var_dump($data);
return($data);
}
// Check
echo "Initial Data\n";
$data = do_query($c);
// Manipulate the data using SimpleXML
$sx = simplexml_load_string($data);
$sx->Hardness = $sx->Hardness - 1;
$sx->Nice = 'Y';
// Insert changes using a temporary CLOB
$s = oci_parse($c, 'update xtt
set xt_spec = XMLType(:clob)
where xt_id = 1');
$lob = oci_new_descriptor($c, OCI_D_LOB);
oci_bind_by_name($s, ':clob', $lob, -1, OCI_B_CLOB);
$lob->writeTemporary($sx->asXml());
oci_execute($s);
$lob->close();
// Verify
echo "Verify\n";
$data = do_query($c);
// Cleanup
$stmtarray = array(
"drop table xtt",
);
oci8_test_sql_execute($c, $stmtarray);
echo "Done\n";
?>
--EXPECT--
Initial Data
string(250) "
1
Big
12345
20
Curved
Red
N
Tiny
Steel
"
Verify
string(249) "
1
Big
12345
19
Curved
Red
Y
Tiny
Steel
"
Done