Annotation of embedaddon/php/ext/oci8/tests/lob_035.phpt, revision 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>