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