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

1.1       misho       1: --TEST--
                      2: oci_lob_copy() - 2 
                      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." (id, blob)
                     16:                       VALUES (1, 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->write("some string here. string, I said"));
                     27: oci_commit($c);
                     28: 
                     29: $ora_sql = "INSERT INTO
                     30:                        ".$schema.$table_name." (id, blob)
                     31:                       VALUES (2, empty_blob())
                     32:                       RETURNING
                     33:                                blob
                     34:                       INTO :v_blob ";
                     35: 
                     36: $statement = oci_parse($c,$ora_sql);
                     37: $blob = oci_new_descriptor($c,OCI_D_LOB);
                     38: oci_bind_by_name($statement,":v_blob", $blob,-1,OCI_B_BLOB);
                     39: oci_execute($statement, OCI_DEFAULT);
                     40: 
                     41: oci_commit($c);
                     42: 
                     43: $select_sql = "SELECT blob FROM ".$schema.$table_name." WHERE id = 1";
                     44: $s = oci_parse($c, $select_sql);
                     45: oci_execute($s);
                     46: 
                     47: $row1 = oci_fetch_array($s);
                     48: 
                     49: $select_sql = "SELECT blob FROM ".$schema.$table_name." WHERE id = 2 FOR UPDATE";
                     50: $s = oci_parse($c, $select_sql);
                     51: oci_execute($s, OCI_DEFAULT);
                     52: 
                     53: $row2 = oci_fetch_array($s);
                     54: 
                     55: $dummy = oci_new_descriptor($c, OCI_D_LOB);
                     56: 
                     57: var_dump(oci_lob_copy($dummy, $row1[0]));
                     58: var_dump(oci_lob_copy($row2[0], $dummy));
                     59: 
                     60: var_dump(oci_lob_copy($row2[0], $row1[0], 0));
                     61: var_dump(oci_lob_copy($row2[0], $row1[0], -1));
                     62: var_dump(oci_lob_copy($row2[0], $row1[0], 100000));
                     63: 
                     64: var_dump(oci_lob_size());
                     65: var_dump(oci_lob_size($row2[0]));
                     66: unset($dummy->descriptor);
                     67: var_dump(oci_lob_size($dummy));
                     68: 
                     69: oci_rollback($c);
                     70: oci_rollback($c);
                     71: oci_commit($c);
                     72: oci_commit($c);
                     73: 
                     74: $select_sql = "SELECT blob FROM ".$schema.$table_name." WHERE id = 2 FOR UPDATE";
                     75: $s = oci_parse($c, $select_sql);
                     76: oci_execute($s, OCI_DEFAULT);
                     77: 
                     78: var_dump($row2 = oci_fetch_array($s, OCI_RETURN_LOBS));
                     79: 
                     80: require dirname(__FILE__).'/drop_table.inc';
                     81: 
                     82: echo "Done\n";
                     83: 
                     84: ?>
                     85: --EXPECTF--
                     86: int(32)
                     87: 
                     88: Warning: oci_lob_copy(): OCI_INVALID_HANDLE in %s on line %d
                     89: bool(false)
                     90: 
                     91: Warning: oci_lob_copy(): OCI_INVALID_HANDLE in %s on line %d
                     92: bool(false)
                     93: bool(false)
                     94: 
                     95: Warning: oci_lob_copy(): Length parameter must be greater than 0 in %s on line %d
                     96: bool(false)
                     97: bool(true)
                     98: 
                     99: Warning: oci_lob_size() expects exactly 1 parameter, 0 given in %s on line %d
                    100: NULL
                    101: int(0)
                    102: 
                    103: Warning: oci_lob_size(): Unable to find descriptor property in %s on line %d
                    104: bool(false)
                    105: array(2) {
                    106:   [0]=>
                    107:   string(0) ""
                    108:   ["BLOB"]=>
                    109:   string(0) ""
                    110: }
                    111: Done

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