Annotation of embedaddon/php/ext/oci8/tests/bind_misccoltypes_errs.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bind miscellaneous column types and generating errors
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: require(dirname(__FILE__).'/connect.inc');
! 9:
! 10: // Initialization
! 11:
! 12: $stmtarray = array(
! 13: "drop table bind_misccoltypes_errs_tab",
! 14:
! 15: "create table bind_misccoltypes_errs_tab (
! 16: id number,
! 17: char_t char(1),
! 18: char_t10 char(10),
! 19: varchar2_t10 varchar2(10),
! 20: number_t number,
! 21: number_t92 number(9,2),
! 22: number_t6 number(6),
! 23: date_t date,
! 24: timestamp_t timestamp,
! 25: float_t float,
! 26: binary_float_t binary_float,
! 27: binary_double_t binary_double,
! 28: decimal_t decimal,
! 29: integer_t integer,
! 30: nchar_t nchar(10),
! 31: nvarchar2_t10 nvarchar2(10),
! 32: varchar_t10 varchar(10) )",
! 33: );
! 34:
! 35: oci8_test_sql_execute($c, $stmtarray);
! 36:
! 37: function check_col($c, $colname, $id)
! 38: {
! 39: $s = oci_parse($c, "select $colname from bind_misccoltypes_errs_tab where id = :id");
! 40: oci_bind_by_name($s, ":id", $id);
! 41: oci_execute($s);
! 42: oci_fetch_all($s, $r);
! 43: var_dump($r);
! 44: }
! 45:
! 46: // Tests
! 47:
! 48: echo "\nTest 1 insert numbers \n";
! 49:
! 50: $n1 = -23253245.3432467;
! 51:
! 52: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, number_t6) VALUES (1, :n1)");
! 53: oci_bind_by_name($s, ":n1", $n1);
! 54: oci_execute($s);
! 55:
! 56: check_col($c, 'number_t6', 57);
! 57:
! 58: echo "\nTest 2 insert numbers \n";
! 59:
! 60: $n1 = "Hello";
! 61:
! 62: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, number_t6) VALUES (2, :n1)");
! 63: oci_bind_by_name($s, ":n1", $n1);
! 64: oci_execute($s);
! 65:
! 66: check_col($c, 'number_t6', 57);
! 67:
! 68: echo "\nTest 3 - too long CHAR\n";
! 69:
! 70: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, char_t) VALUES (3, :c2)");
! 71: $c2 = "AB";
! 72: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
! 73: oci_execute($s);
! 74:
! 75: echo "\nTest 4 - too long VARCHAR2\n";
! 76:
! 77: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, varchar2_t10) VALUES (4, :c2)");
! 78: $c2 = "AAAAAAAAAAB";
! 79: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
! 80: oci_execute($s);
! 81:
! 82: echo "\nTest 5 - invalid number\n";
! 83:
! 84: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, number_t) VALUES (5, :c2)");
! 85: $c2 = "ABC";
! 86: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
! 87: oci_execute($s);
! 88:
! 89: echo "\nTest 6 - insert a VARCHAR2 with SQLT_BIN\n";
! 90:
! 91: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, varchar2_t10) VALUES (6, :c2)");
! 92: $c2 = "Hood 6";
! 93: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_BIN);
! 94: oci_execute($s);
! 95:
! 96: check_col($c, 'varchar2_t10', 6);
! 97:
! 98: echo "\nTest 7 - insert a VARCHAR2 with SQLT_LBI\n";
! 99:
! 100: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, varchar2_t10) VALUES (7, :c2)");
! 101: $c2 = "Hood 7";
! 102: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_LBI);
! 103: oci_execute($s);
! 104:
! 105: check_col($c, 'varchar2_t10', 7);
! 106:
! 107:
! 108: // Clean up
! 109:
! 110: $stmtarray = array(
! 111: "drop table bind_misccoltypes_errs_tab"
! 112: );
! 113:
! 114: oci8_test_sql_execute($c, $stmtarray);
! 115:
! 116: oci_close($c);
! 117:
! 118: ?>
! 119: ===DONE===
! 120: <?php exit(0); ?>
! 121: --EXPECTF--
! 122: Test 1 insert numbers
! 123:
! 124: Warning: oci_execute(): ORA-01438: %s in %sbind_misccoltypes_errs.php on line %d
! 125: array(1) {
! 126: ["NUMBER_T6"]=>
! 127: array(0) {
! 128: }
! 129: }
! 130:
! 131: Test 2 insert numbers
! 132:
! 133: Warning: oci_execute(): ORA-01722: %s in %sbind_misccoltypes_errs.php on line %d
! 134: array(1) {
! 135: ["NUMBER_T6"]=>
! 136: array(0) {
! 137: }
! 138: }
! 139:
! 140: Test 3 - too long CHAR
! 141:
! 142: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."CHAR_T" \(%s: 2, %s: 1\)|String data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
! 143:
! 144: Test 4 - too long VARCHAR2
! 145:
! 146: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."VARCHAR2_T10" \(%s: 11, %s: 10\)|%s data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
! 147:
! 148: Test 5 - invalid number
! 149:
! 150: Warning: oci_execute(): ORA-01722: %s in %sbind_misccoltypes_errs.php on line %d
! 151:
! 152: Test 6 - insert a VARCHAR2 with SQLT_BIN
! 153:
! 154: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."VARCHAR2_T10" \(%s: 12, %s: 10\)|String data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
! 155: array(1) {
! 156: ["VARCHAR2_T10"]=>
! 157: array(0) {
! 158: }
! 159: }
! 160:
! 161: Test 7 - insert a VARCHAR2 with SQLT_LBI
! 162:
! 163: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."VARCHAR2_T10" \(%s: 12, %s: 10\)|String data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
! 164: array(1) {
! 165: ["VARCHAR2_T10"]=>
! 166: array(0) {
! 167: }
! 168: }
! 169: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>