Annotation of embedaddon/php/ext/oci8/tests/lob_019.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: oci_lob_write()/erase()/read() with BLOBs
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: $str = "this is a biiiig faaat test string. why are you reading it, I wonder? =)";
29: var_dump($blob->write($str));
30: var_dump($blob->erase(0, 10));
31:
32: oci_commit($c);
33:
34: $select_sql = "SELECT blob FROM ".$schema.$table_name." FOR UPDATE";
35: $s = oci_parse($c, $select_sql);
36: oci_execute($s, OCI_DEFAULT);
37:
38: var_dump($row = oci_fetch_array($s));
39:
40: var_dump($row[0]->read(5));
41: var_dump($row[0]->read(5));
42: var_dump($row[0]->read(5));
43:
44: require dirname(__FILE__).'/drop_table.inc';
45:
46: echo "Done\n";
47:
48: ?>
49: --EXPECTF--
50: object(OCI-Lob)#%d (1) {
51: ["descriptor"]=>
52: resource(%d) of type (oci8 descriptor)
53: }
54: int(72)
55: int(10)
56: array(2) {
57: [0]=>
58: object(OCI-Lob)#%d (1) {
59: ["descriptor"]=>
60: resource(%d) of type (oci8 descriptor)
61: }
62: ["BLOB"]=>
63: object(OCI-Lob)#%d (1) {
64: ["descriptor"]=>
65: resource(%d) of type (oci8 descriptor)
66: }
67: }
68: string(5) "