Annotation of embedaddon/php/ext/oci8/tests/lob_004.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: oci_lob_seek()/rewind()/append()
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->rewind());
30: var_dump($blob->write("str"));
31: var_dump($blob->seek(10, OCI_SEEK_SET));
32:
33: oci_commit($c);
34:
35: $select_sql = "SELECT blob FROM ".$schema.$table_name." FOR UPDATE";
36: $s = oci_parse($c, $select_sql);
37: oci_execute($s, OCI_DEFAULT);
38:
39: var_dump($row = oci_fetch_array($s));
40:
41: var_dump($row[0]->append($blob));
42: var_dump($row[0]->read(10000));
43:
44: oci_commit($c);
45:
46: $select_sql = "SELECT blob FROM ".$schema.$table_name." FOR UPDATE";
47: $s = oci_parse($c, $select_sql);
48: oci_execute($s, OCI_DEFAULT);
49:
50: $row = oci_fetch_array($s);
51:
52: var_dump($row[0]->read(10000));
53:
54: require dirname(__FILE__).'/drop_table.inc';
55:
56: echo "Done\n";
57:
58: ?>
59: --EXPECTF--
60: object(OCI-Lob)#%d (1) {
61: ["descriptor"]=>
62: resource(%d) of type (oci8 descriptor)
63: }
64: int(4)
65: bool(true)
66: int(3)
67: bool(true)
68: array(2) {
69: [0]=>
70: object(OCI-Lob)#%d (1) {
71: ["descriptor"]=>
72: resource(%d) of type (oci8 descriptor)
73: }
74: ["BLOB"]=>
75: object(OCI-Lob)#%d (1) {
76: ["descriptor"]=>
77: resource(%d) of type (oci8 descriptor)
78: }
79: }
80: bool(true)
81: string(4) "strt"
82: string(8) "strtstrt"
83: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>