2 Check LOBS are valid after statement free
5 $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
6 require(dirname(__FILE__).'/skipif.inc');
11 require dirname(__FILE__).'/connect.inc';
16 "DROP table lob_041_tab",
17 "CREATE table lob_041_tab(c1 CLOB)",
18 "INSERT INTO lob_041_tab VALUES('test data')"
21 oci8_test_sql_execute($c, $stmtarray);
23 echo "Test 1 - explicit statement close\n";
25 $s = oci_parse($c, "SELECT C1 FROM lob_041_tab");
26 $desc = oci_new_descriptor($c, OCI_DTYPE_LOB);
27 oci_define_by_name($s, "C1", $desc);
29 $data = oci_fetch_assoc($s);
30 oci_free_statement($s);
31 echo $data['C1']->load(), "\n";
32 oci_free_descriptor($desc);
34 echo "\nTest 2 - implicit statement close\n";
36 $s = oci_parse($c, "SELECT C1 FROM lob_041_tab");
37 $desc = oci_new_descriptor($c, OCI_DTYPE_LOB);
38 oci_define_by_name($s, "C1", $desc);
40 $data = oci_fetch_assoc($s);
42 echo $data['C1']->load(), "\n";
43 oci_free_descriptor($desc);
46 echo "\nTest 3 - no preallocated descriptor\n";
48 $s = oci_parse($c, "SELECT C1 FROM lob_041_tab");
50 $data = oci_fetch_assoc($s);
52 echo $data['C1']->load(), "\n";
60 "DROP table lob_041_tab"
63 oci8_test_sql_execute($c, $stmtarray);
68 Test 1 - explicit statement close
71 Test 2 - implicit statement close
73 object(OCI-Lob)#%d (1) {
75 resource(%d) of type (oci8 descriptor)
78 Test 3 - no preallocated descriptor
82 object(OCI-Lob)#%d (1) {
84 resource(%d) of type (oci8 descriptor)