Annotation of embedaddon/php/ext/oci8/tests/lob_003.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: oci_lob_read() and friends
3: --SKIPIF--
4: <?php
5: $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
6: require(dirname(__FILE__).'/skipif.inc');
7: ?>
8: --FILE--
9: <?php
10:
11: require dirname(__FILE__).'/connect.inc';
12: require dirname(__FILE__).'/create_table.inc';
13:
14: $ora_sql = "INSERT INTO
15: ".$schema.$table_name." (blob)
16: VALUES (empty_blob())
17: RETURNING
18: blob
19: INTO :v_blob ";
20:
21: $statement = oci_parse($c,$ora_sql);
22: $blob = oci_new_descriptor($c,OCI_D_LOB);
23: oci_bind_by_name($statement,":v_blob", $blob,-1,OCI_B_BLOB);
24: oci_execute($statement, OCI_DEFAULT);
25:
26: var_dump($blob);
27:
28: var_dump($blob->write("test"));
29: var_dump($blob->tell());
30: var_dump($blob->seek(10, OCI_SEEK_CUR));
31: var_dump($blob->write("string"));
32: var_dump($blob->flush());
33:
34: oci_commit($c);
35:
36: $select_sql = "SELECT blob FROM ".$schema.$table_name." FOR UPDATE";
37: $s = oci_parse($c, $select_sql);
38: oci_execute($s, OCI_DEFAULT);
39:
40: var_dump($row = oci_fetch_array($s));
41:
42: var_dump($row[0]->read(-1));
43: var_dump($row[0]->read(10000));
44:
45: require dirname(__FILE__).'/drop_table.inc';
46:
47: echo "Done\n";
48:
49: ?>
50: --EXPECTF--
51: object(OCI-Lob)#%d (1) {
52: ["descriptor"]=>
53: resource(%d) of type (oci8 descriptor)
54: }
55: int(4)
56: int(4)
57: bool(true)
58: int(6)
59: bool(false)
60: array(2) {
61: [0]=>
62: object(OCI-Lob)#%d (1) {
63: ["descriptor"]=>
64: resource(%d) of type (oci8 descriptor)
65: }
66: ["BLOB"]=>
67: object(OCI-Lob)#%d (1) {
68: ["descriptor"]=>
69: resource(%d) of type (oci8 descriptor)
70: }
71: }
72:
73: Warning: OCI-Lob::read(): Length parameter must be greater than 0 in %s on line %d
74: bool(false)
75: string(20) "test string"
76: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>