Annotation of embedaddon/php/ext/oci8/tests/bind_sqltnum.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bind with SQLT_NUM
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('oci8')) die("skip no oci8 extension");
! 6: if (preg_match('/^1[012]\./', oci_client_version()) != 1) {
! 7: die("skip test expected to work only with Oracle 10g or greater version of client");
! 8: }
! 9: ?>
! 10: --FILE--
! 11: <?php
! 12:
! 13: require(dirname(__FILE__).'/connect.inc');
! 14:
! 15: // Initialization
! 16:
! 17: $stmtarray = array(
! 18: "drop table bind_sqltnum_tab",
! 19:
! 20: "create table bind_sqltnum_tab (
! 21: id number,
! 22: varchar2_t10 varchar2(10),
! 23: number_t number,
! 24: number_t92 number(9,2))"
! 25: );
! 26:
! 27: oci8_test_sql_execute($c, $stmtarray);
! 28:
! 29: function check_col($c, $colname, $id)
! 30: {
! 31: $s = oci_parse($c, "select $colname from bind_sqltnum_tab where id = :id");
! 32: oci_bind_by_name($s, ":id", $id);
! 33: oci_execute($s);
! 34: oci_fetch_all($s, $r);
! 35: var_dump($r);
! 36: }
! 37:
! 38:
! 39: // Run Test
! 40:
! 41: echo "Test 1 - baseline test\n";
! 42:
! 43: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (100, :c2)");
! 44: $c2 = "Hood";
! 45: $r = oci_bind_by_name($s, ":c2", $c2, -1);
! 46: if (!$r) {
! 47: $e = oci_error($s);
! 48: var_dump($e);
! 49: }
! 50: $r = oci_execute($s, OCI_DEFAULT);
! 51: if (!$r) {
! 52: $e = oci_error($s);
! 53: var_dump($e);
! 54: }
! 55:
! 56: $s = oci_parse($c, "select id, varchar2_t10 from bind_sqltnum_tab");
! 57: oci_execute($s);
! 58: oci_fetch_all($s, $data);
! 59: var_dump($data);
! 60:
! 61: echo "Test 2 - SQLT_NUM to a VARCHAR2 column\n";
! 62:
! 63: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (100, :c2)");
! 64: $c2 = "Hood";
! 65: $r = oci_bind_by_name($s, ":c2", $c2, -1, SQLT_NUM);
! 66: if (!$r) {
! 67: $e = oci_error($s);
! 68: var_dump($e['message']);
! 69: }
! 70: $r = oci_execute($s, OCI_DEFAULT);
! 71: if (!$r) {
! 72: $e = oci_error($s);
! 73: var_dump($e['message']);
! 74: }
! 75:
! 76: echo "\nTEST41 wrong bind type SQLT_NUM\n";
! 77:
! 78: $c2 = "Hood41";
! 79: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (41, :c2)");
! 80: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_NUM);
! 81: oci_execute($s);
! 82:
! 83: echo "\nTEST42 insert numbers SQLT_NUM\n";
! 84:
! 85: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (42, :n1)");
! 86: $n1 = 42;
! 87: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 88: oci_execute($s);
! 89:
! 90: check_col($c, 'number_t', 42);
! 91:
! 92: echo "\nTEST43 insert numbers SQLT_NUM\n";
! 93:
! 94: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (43, :n1)");
! 95: $n1 = 42.69;
! 96: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 97: oci_execute($s);
! 98:
! 99: check_col($c, 'number_t', 43);
! 100:
! 101: echo "\nTEST44\n";
! 102:
! 103: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (44, :n1)");
! 104: $n1 = 0;
! 105: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 106: oci_execute($s);
! 107:
! 108: check_col($c, 'number_t', 44);
! 109:
! 110: echo "\nTEST45\n";
! 111:
! 112: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (45, :n1)");
! 113: $n1 = -23;
! 114: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 115: oci_execute($s);
! 116:
! 117: check_col($c, 'number_t', 45);
! 118:
! 119: echo "\nTEST46 insert numbers\n";
! 120:
! 121: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (46, :n1)");
! 122: $n1 = "-23";
! 123: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 124: oci_execute($s);
! 125:
! 126: check_col($c, 'number_t', 46);
! 127:
! 128: echo "\nTEST47\n";
! 129:
! 130: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (47, :n1)");
! 131: $n1 = "23";
! 132: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 133: oci_execute($s);
! 134:
! 135: check_col($c, 'number_t', 47);
! 136:
! 137: echo "\nTEST48\n";
! 138:
! 139: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (48, :n1)");
! 140: $n1 = 123.56;
! 141: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 142: oci_execute($s);
! 143:
! 144: check_col($c, 'number_t92', 48);
! 145:
! 146: echo "\nTEST49\n";
! 147:
! 148: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (49, :n1)");
! 149: $n1 = "123.56";
! 150: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 151: oci_execute($s);
! 152:
! 153: check_col($c, 'number_t92', 49);
! 154:
! 155: echo "\nTEST50\n";
! 156:
! 157: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (50, :n1)");
! 158: $n1 = "";
! 159: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
! 160: oci_execute($s);
! 161:
! 162: check_col($c, 'number_t92', 50);
! 163:
! 164: // Clean up
! 165:
! 166: $stmtarray = array(
! 167: "drop table bind_sqltnum_tab"
! 168: );
! 169:
! 170: oci8_test_sql_execute($c, $stmtarray);
! 171:
! 172: ?>
! 173: ===DONE===
! 174: <?php exit(0); ?>
! 175: --EXPECTF--
! 176: Test 1 - baseline test
! 177: array(2) {
! 178: ["ID"]=>
! 179: array(1) {
! 180: [0]=>
! 181: string(3) "100"
! 182: }
! 183: ["VARCHAR2_T10"]=>
! 184: array(1) {
! 185: [0]=>
! 186: string(4) "Hood"
! 187: }
! 188: }
! 189: Test 2 - SQLT_NUM to a VARCHAR2 column
! 190:
! 191: Warning: oci_execute(): ORA-12899: %s (%s: 40, %s: 10) in %sbind_sqltnum.php on line %d
! 192: string(%d) "ORA-12899: %s"
! 193:
! 194: TEST41 wrong bind type SQLT_NUM
! 195:
! 196: Warning: oci_execute(): ORA-12899: %s "%s"."BIND_SQLTNUM_TAB"."VARCHAR2_T10" (%s: 40, %s: 10) in %sbind_sqltnum.php on line %d
! 197:
! 198: TEST42 insert numbers SQLT_NUM
! 199: array(1) {
! 200: ["NUMBER_T"]=>
! 201: array(1) {
! 202: [0]=>
! 203: NULL
! 204: }
! 205: }
! 206:
! 207: TEST43 insert numbers SQLT_NUM
! 208: array(1) {
! 209: ["NUMBER_T"]=>
! 210: array(1) {
! 211: [0]=>
! 212: NULL
! 213: }
! 214: }
! 215:
! 216: TEST44
! 217: array(1) {
! 218: ["NUMBER_T"]=>
! 219: array(1) {
! 220: [0]=>
! 221: string(127) "-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
! 222: }
! 223: }
! 224:
! 225: TEST45
! 226: array(1) {
! 227: ["NUMBER_T"]=>
! 228: array(1) {
! 229: [0]=>
! 230: NULL
! 231: }
! 232: }
! 233:
! 234: TEST46 insert numbers
! 235: array(1) {
! 236: ["NUMBER_T"]=>
! 237: array(1) {
! 238: [0]=>
! 239: NULL
! 240: }
! 241: }
! 242:
! 243: TEST47
! 244: array(1) {
! 245: ["NUMBER_T"]=>
! 246: array(1) {
! 247: [0]=>
! 248: NULL
! 249: }
! 250: }
! 251:
! 252: TEST48
! 253: array(1) {
! 254: ["NUMBER_T92"]=>
! 255: array(1) {
! 256: [0]=>
! 257: string(1) "0"
! 258: }
! 259: }
! 260:
! 261: TEST49
! 262: array(1) {
! 263: ["NUMBER_T92"]=>
! 264: array(1) {
! 265: [0]=>
! 266: string(1) "0"
! 267: }
! 268: }
! 269:
! 270: TEST50
! 271:
! 272: Warning: oci_execute(): ORA-01438: %s in %sbind_sqltnum.php on line %d
! 273: array(1) {
! 274: ["NUMBER_T92"]=>
! 275: array(0) {
! 276: }
! 277: }
! 278: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>