xref: /PHP-7.3/ext/oci8/tests/lob_022.phpt (revision 37652336)
1--TEST--
2fetching the same lob several times
3--SKIPIF--
4<?php
5$target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
6require(dirname(__FILE__).'/skipif.inc');
7?>
8--FILE--
9<?php
10
11require dirname(__FILE__).'/connect.inc';
12
13$drop = "DROP table lob_test";
14$statement = oci_parse($c, $drop);
15@oci_execute($statement);
16
17$create = "CREATE table lob_test(mykey NUMBER, lob_1 CLOB)";
18$statement = oci_parse($c, $create);
19oci_execute($statement);
20
21$init = "INSERT INTO lob_test (mykey, lob_1) VALUES(1, EMPTY_CLOB()) RETURNING lob_1 INTO :mylob";
22$statement = oci_parse($c, $init);
23$clob = oci_new_descriptor($c, OCI_D_LOB);
24oci_bind_by_name($statement, ":mylob", $clob, -1, OCI_B_CLOB);
25oci_execute($statement, OCI_DEFAULT);
26$clob->save();
27oci_lob_save();
28oci_lob_save($clob, "data");
29unset($clob->descriptor);
30oci_lob_save($clob, "data");
31
32oci_commit($c);
33
34$init = "INSERT INTO lob_test (mykey, lob_1) VALUES(2, EMPTY_CLOB()) RETURNING lob_1 INTO :mylob";
35$statement = oci_parse($c, $init);
36$clob = oci_new_descriptor($c, OCI_D_LOB);
37oci_bind_by_name($statement, ":mylob", $clob, -1, OCI_B_CLOB);
38oci_execute($statement, OCI_DEFAULT);
39$clob->save("long data");
40$clob->save("long data", -1);
41$clob->save("long data", 0);
42
43oci_commit($c);
44
45
46$query = 'SELECT * FROM lob_test ORDER BY mykey ASC';
47$statement = oci_parse ($c, $query);
48oci_execute($statement, OCI_DEFAULT);
49
50while ($row = oci_fetch_array($statement, OCI_ASSOC)) {
51	$result = $row['LOB_1']->load();
52	var_dump($result);
53}
54
55$query = 'SELECT * FROM lob_test ORDER BY mykey DESC';
56$statement = oci_parse ($c, $query);
57oci_execute($statement, OCI_DEFAULT);
58
59while ($row = oci_fetch_array($statement, OCI_ASSOC)) {
60	$result = $row['LOB_1']->load();
61	var_dump($result);
62}
63
64$drop = "DROP table lob_test";
65$statement = oci_parse($c, $drop);
66@oci_execute($statement);
67
68echo "Done\n";
69
70?>
71--EXPECTF--
72Warning: OCI-Lob::save() expects at least 1 parameter, 0 given in %s on line %d
73
74Warning: oci_lob_save() expects at least 2 parameters, 0 given in %s on line %d
75
76Warning: oci_lob_save(): Unable to find descriptor property in %s on line %d
77
78Warning: OCI-Lob::save(): Offset parameter must be greater than or equal to 0 in %s on line %d
79string(4) "data"
80string(9) "long data"
81string(9) "long data"
82string(4) "data"
83Done
84