Annotation of embedaddon/php/ext/oci8/tests/lob_001.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: oci_lob_write() 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: 
                     13: // Initialization
                     14: 
                     15: $stmtarray = array(
                     16:        "drop table lob_001_tab",
                     17:        "create table lob_001_tab (id number, b1 blob)",
                     18: );
                     19: 
                     20: oci8_test_sql_execute($c, $stmtarray);
                     21: 
                     22: echo "Test 1 OCI_B_BLOB bind\n";
                     23: 
                     24: $statement = oci_parse($c, "insert into lob_001_tab (id, b1) values (1, empty_blob()) returning b1 into :v_b1 ");
                     25: $blob = oci_new_descriptor($c,OCI_D_LOB);
                     26: var_dump(oci_bind_by_name($statement, ":v_b1", $blob, -1, OCI_B_BLOB));
                     27: oci_execute($statement, OCI_DEFAULT);
                     28: var_dump($blob);
                     29: 
                     30: echo "Test 2\n";
                     31: 
                     32: var_dump($blob->write("test"));
                     33: var_dump($blob->tell());
                     34: var_dump($blob->seek(10, OCI_SEEK_CUR));
                     35: var_dump($blob->write("string"));
                     36: var_dump($blob->flush());
                     37: 
                     38: oci_commit($c);
                     39: 
                     40: echo "Test 3\n";
                     41: 
                     42: $s = oci_parse($c, "select b1 from lob_001_tab where id = 1");
                     43: oci_execute($s);
                     44: var_dump(oci_fetch_array($s, OCI_RETURN_LOBS));
                     45: 
                     46: echo "Test 4 SQLT_BLOB (an alias for OCI_B_BLOB) bind\n";
                     47: 
                     48: $statement = oci_parse($c, "insert into lob_001_tab (id, b1) values (2, empty_blob()) returning b1 into :v_b1 ");
                     49: $blob = oci_new_descriptor($c,OCI_D_LOB);
                     50: var_dump(oci_bind_by_name($statement, ":v_b1", $blob, -1, SQLT_BLOB));
                     51: oci_execute($statement, OCI_DEFAULT);
                     52: var_dump($blob->write("test row 2"));
                     53: 
                     54: $s = oci_parse($c, "select b1 from lob_001_tab where id = 2");
                     55: oci_execute($s);
                     56: var_dump(oci_fetch_array($s, OCI_RETURN_LOBS));
                     57: 
                     58: // Cleanup
                     59: 
                     60: $stmtarray = array(
                     61:        "drop table lob_001_tab"
                     62: );
                     63: 
                     64: oci8_test_sql_execute($c, $stmtarray);
                     65: 
                     66: ?>
                     67: ===DONE===
                     68: <?php exit(0); ?>
                     69: --EXPECTF--
                     70: Test 1 OCI_B_BLOB bind
                     71: bool(true)
                     72: object(OCI-Lob)#%d (1) {
                     73:   ["descriptor"]=>
                     74:   resource(%d) of type (oci8 descriptor)
                     75: }
                     76: Test 2
                     77: int(4)
                     78: int(4)
                     79: bool(true)
                     80: int(6)
                     81: bool(false)
                     82: Test 3
                     83: array(2) {
                     84:   [0]=>
                     85:   string(20) "teststring"
                     86:   ["B1"]=>
                     87:   string(20) "teststring"
                     88: }
                     89: Test 4 SQLT_BLOB (an alias for OCI_B_BLOB) bind
                     90: bool(true)
                     91: int(10)
                     92: array(2) {
                     93:   [0]=>
                     94:   string(10) "test row 2"
                     95:   ["B1"]=>
                     96:   string(10) "test row 2"
                     97: }
                     98: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>