Annotation of embedaddon/php/ext/oci8/tests/bind_sqltafc.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bind tests with SQLT_AFC
! 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_sqltafc_tab",
! 14: "create table bind_sqltafc_tab (id number, char_t char(1), char_t10 char(10), varchar2_t10 varchar2(10), number_t number)",
! 15: "insert into bind_sqltafc_tab values (0, 'a', 'abcd', 'efghij', 1.1)"
! 16: );
! 17:
! 18: oci8_test_sql_execute($c, $stmtarray);
! 19:
! 20: // Run Test
! 21:
! 22: function q($c, $id)
! 23: {
! 24: $s = oci_parse($c, "select * from bind_sqltafc_tab where id = $id");
! 25: oci_execute($s);
! 26: oci_fetch_all($s, $r);
! 27: var_dump($r);
! 28: }
! 29:
! 30: echo "Test 0 - base table creation without binds\n";
! 31:
! 32: q($c, 0);
! 33:
! 34: echo "\nTest 1 - successful insert\n";
! 35:
! 36: $s = oci_parse($c, "INSERT INTO bind_sqltafc_tab (id, char_t, char_t10, varchar2_t10, number_t) VALUES (1, :c2, :c3, :c4, :c5)");
! 37: $c2 = "H";
! 38: $c3 = "AAAAAAAAAA"; // max length allowed in column
! 39: $c4 = "BBBBBBBBBB"; // max length allowed in column
! 40: $c5 = "123.45";
! 41: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
! 42: oci_bind_by_name($s, ":c3", $c3, -1, SQLT_AFC);
! 43: oci_bind_by_name($s, ":c4", $c4, -1, SQLT_AFC);
! 44: oci_bind_by_name($s, ":c5", $c5, -1, SQLT_AFC);
! 45: oci_execute($s);
! 46:
! 47: q($c, 1);
! 48:
! 49: echo "\nTest 2 - Empty Strings\n";
! 50:
! 51: $s = oci_parse($c, "INSERT INTO bind_sqltafc_tab (id, char_t, char_t10, varchar2_t10, number_t) VALUES (5, :c2, :c3, :c4, :c5)");
! 52: $c2 = "";
! 53: $c3 = "";
! 54: $c4 = "";
! 55: $c5 = "";
! 56: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
! 57: oci_bind_by_name($s, ":c3", $c3, -1, SQLT_AFC);
! 58: oci_bind_by_name($s, ":c4", $c4, -1, SQLT_AFC);
! 59: oci_bind_by_name($s, ":c5", $c5, -1, SQLT_AFC);
! 60: oci_execute($s);
! 61:
! 62: q($c, 5);
! 63:
! 64: echo "\nTest 3 - NULLs\n";
! 65:
! 66: $s = oci_parse($c, "INSERT INTO bind_sqltafc_tab (id, char_t, char_t10, varchar2_t10, number_t) VALUES (6, :c2, :c3, :c4, :c5)");
! 67: $c2 = null;
! 68: $c3 = null;
! 69: $c4 = null;
! 70: $c5 = null;
! 71: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
! 72: oci_bind_by_name($s, ":c3", $c3, -1, SQLT_AFC);
! 73: oci_bind_by_name($s, ":c4", $c4, -1, SQLT_AFC);
! 74: oci_bind_by_name($s, ":c5", $c5, -1, SQLT_AFC);
! 75: oci_execute($s);
! 76:
! 77: q($c, 6);
! 78:
! 79: // Clean up
! 80:
! 81: $stmtarray = array(
! 82: "drop table bind_sqltafc_tab"
! 83: );
! 84:
! 85: oci8_test_sql_execute($c, $stmtarray);
! 86:
! 87: oci_close($c);
! 88:
! 89: ?>
! 90: ===DONE===
! 91: <?php exit(0); ?>
! 92: --EXPECTF--
! 93: Test 0 - base table creation without binds
! 94: array(5) {
! 95: ["ID"]=>
! 96: array(1) {
! 97: [0]=>
! 98: string(1) "0"
! 99: }
! 100: ["CHAR_T"]=>
! 101: array(1) {
! 102: [0]=>
! 103: string(1) "a"
! 104: }
! 105: ["CHAR_T10"]=>
! 106: array(1) {
! 107: [0]=>
! 108: string(10) "abcd "
! 109: }
! 110: ["VARCHAR2_T10"]=>
! 111: array(1) {
! 112: [0]=>
! 113: string(6) "efghij"
! 114: }
! 115: ["NUMBER_T"]=>
! 116: array(1) {
! 117: [0]=>
! 118: string(3) "1.1"
! 119: }
! 120: }
! 121:
! 122: Test 1 - successful insert
! 123: array(5) {
! 124: ["ID"]=>
! 125: array(1) {
! 126: [0]=>
! 127: string(1) "1"
! 128: }
! 129: ["CHAR_T"]=>
! 130: array(1) {
! 131: [0]=>
! 132: string(1) "H"
! 133: }
! 134: ["CHAR_T10"]=>
! 135: array(1) {
! 136: [0]=>
! 137: string(10) "AAAAAAAAAA"
! 138: }
! 139: ["VARCHAR2_T10"]=>
! 140: array(1) {
! 141: [0]=>
! 142: string(10) "BBBBBBBBBB"
! 143: }
! 144: ["NUMBER_T"]=>
! 145: array(1) {
! 146: [0]=>
! 147: string(6) "123.45"
! 148: }
! 149: }
! 150:
! 151: Test 2 - Empty Strings
! 152: array(5) {
! 153: ["ID"]=>
! 154: array(1) {
! 155: [0]=>
! 156: string(1) "5"
! 157: }
! 158: ["CHAR_T"]=>
! 159: array(1) {
! 160: [0]=>
! 161: NULL
! 162: }
! 163: ["CHAR_T10"]=>
! 164: array(1) {
! 165: [0]=>
! 166: NULL
! 167: }
! 168: ["VARCHAR2_T10"]=>
! 169: array(1) {
! 170: [0]=>
! 171: NULL
! 172: }
! 173: ["NUMBER_T"]=>
! 174: array(1) {
! 175: [0]=>
! 176: NULL
! 177: }
! 178: }
! 179:
! 180: Test 3 - NULLs
! 181: array(5) {
! 182: ["ID"]=>
! 183: array(1) {
! 184: [0]=>
! 185: string(1) "6"
! 186: }
! 187: ["CHAR_T"]=>
! 188: array(1) {
! 189: [0]=>
! 190: NULL
! 191: }
! 192: ["CHAR_T10"]=>
! 193: array(1) {
! 194: [0]=>
! 195: NULL
! 196: }
! 197: ["VARCHAR2_T10"]=>
! 198: array(1) {
! 199: [0]=>
! 200: NULL
! 201: }
! 202: ["NUMBER_T"]=>
! 203: array(1) {
! 204: [0]=>
! 205: NULL
! 206: }
! 207: }
! 208: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>