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

1.1       misho       1: --TEST--
                      2: oci_lob_write()/erase()/read() with CLOBs
                      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." (Clob)
                     16:                       VALUES (empty_Clob())
                     17:                       RETURNING
                     18:                                clob
                     19:                       INTO :v_clob ";
                     20: 
                     21: $statement = oci_parse($c,$ora_sql);
                     22: $clob = oci_new_descriptor($c,OCI_D_LOB);
                     23: oci_bind_by_name($statement,":v_clob", $clob,-1,OCI_B_CLOB);
                     24: oci_execute($statement, OCI_DEFAULT);
                     25: 
                     26: var_dump($clob);
                     27: 
                     28: $str = "this is a biiiig faaat test string. why are you reading it, I wonder? =)";
                     29: var_dump($clob->write($str));
                     30: var_dump($clob->erase(10,20));
                     31: 
                     32: oci_commit($c);
                     33: 
                     34: $select_sql = "SELECT clob 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(2));
                     41: var_dump($row[0]->read(5));
                     42: var_dump($row[0]->read(50));
                     43: 
                     44: var_dump($clob->erase());
                     45: var_dump($clob->erase(-10));
                     46: var_dump($clob->erase(10,-20));
                     47: var_dump($clob->erase(-10,-20));
                     48: var_dump($clob->erase(-10,-20, 1));
                     49: 
                     50: var_dump(oci_lob_erase($clob));
                     51: var_dump(oci_lob_erase($clob,-10));
                     52: var_dump(oci_lob_erase($clob,10,-20));
                     53: var_dump(oci_lob_erase($clob,-10,-20));
                     54: var_dump(oci_lob_erase($clob,-10,-20, 1));
                     55: 
                     56: unset($clob->descriptor);
                     57: var_dump(oci_lob_erase($clob,10,20));
                     58: 
                     59: require dirname(__FILE__).'/drop_table.inc';
                     60: 
                     61: echo "Done\n";
                     62: 
                     63: ?>
                     64: --EXPECTF--
                     65: object(OCI-Lob)#%d (1) {
                     66:   ["descriptor"]=>
                     67:   resource(%d) of type (oci8 descriptor)
                     68: }
                     69: int(77)
                     70: int(20)
                     71: array(2) {
                     72:   [0]=>
                     73:   object(OCI-Lob)#%d (1) {
                     74:     ["descriptor"]=>
                     75:     resource(%d) of type (oci8 descriptor)
                     76:   }
                     77:   ["CLOB"]=>
                     78:   object(OCI-Lob)#%d (1) {
                     79:     ["descriptor"]=>
                     80:     resource(%d) of type (oci8 descriptor)
                     81:   }
                     82: }
                     83: string(2) ""
                     84: string(5) "th"
                     85: string(50) "is                     st string. why are you read"
                     86: 
                     87: Warning: OCI-Lob::erase(): ORA-22990: LOB locators cannot span transactions in %s on line %d
                     88: bool(false)
                     89: 
                     90: Warning: OCI-Lob::erase(): Offset must be greater than or equal to 0 in %s on line %d
                     91: bool(false)
                     92: 
                     93: Warning: OCI-Lob::erase(): Length must be greater than or equal to 0 in %s on line %d
                     94: bool(false)
                     95: 
                     96: Warning: OCI-Lob::erase(): Offset must be greater than or equal to 0 in %s on line %d
                     97: bool(false)
                     98: 
                     99: Warning: OCI-Lob::erase() expects at most 2 parameters, 3 given in %s on line %d
                    100: NULL
                    101: 
                    102: Warning: oci_lob_erase(): ORA-22990: LOB locators cannot span transactions in %s on line %d
                    103: bool(false)
                    104: 
                    105: Warning: oci_lob_erase(): Offset must be greater than or equal to 0 in %s on line %d
                    106: bool(false)
                    107: 
                    108: Warning: oci_lob_erase(): Length must be greater than or equal to 0 in %s on line %d
                    109: bool(false)
                    110: 
                    111: Warning: oci_lob_erase(): Offset must be greater than or equal to 0 in %s on line %d
                    112: bool(false)
                    113: 
                    114: Warning: oci_lob_erase() expects at most 3 parameters, 4 given in %s on line %d
                    115: NULL
                    116: 
                    117: Warning: oci_lob_erase(): Unable to find descriptor property in %s on line %d
                    118: bool(false)
                    119: Done

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