Annotation of embedaddon/php/ext/oci8/tests/bug27303_2_11gR1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #27303 (OCIBindByName binds numeric PHP values as characters)
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('oci8')) die ("skip no oci8 extension");
! 6: require(dirname(__FILE__)."/connect.inc");
! 7: // The bind buffer size edge cases seem to change each DB version.
! 8: if (preg_match('/Release 10\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
! 9: if (preg_match('/Release 11\.1\.0\.6/', oci_server_version($c), $matches) !== 1) {
! 10: if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
! 11: die("skip expected output only valid when using specific Oracle database versions");
! 12: }
! 13: }
! 14: }
! 15: ?>
! 16: --FILE--
! 17: <?php
! 18:
! 19: require dirname(__FILE__).'/connect.inc';
! 20:
! 21: $stmtarray = array(
! 22: "drop sequence myseq",
! 23: "drop table mytab",
! 24: "create sequence myseq",
! 25: "create table mytab (mydata varchar2(20), seqcol number)"
! 26: );
! 27:
! 28: oci8_test_sql_execute($c, $stmtarray);
! 29:
! 30: define('MYLIMIT', 200);
! 31: define('INITMYBV', 11);
! 32:
! 33: $stmt = "insert into mytab (mydata, seqcol) values ('Some data', myseq.nextval) returning seqcol into :mybv";
! 34:
! 35: $stid = OCIParse($c, $stmt);
! 36: if (!$stid) { echo "Parse error"; die; }
! 37:
! 38: $mybv = INITMYBV;
! 39: $r = OCIBindByName($stid, ':MYBV', $mybv);
! 40: if (!$r) { echo "Bind error"; die; }
! 41:
! 42: for ($i = 1; $i < MYLIMIT; $i++) {
! 43: $r = OCIExecute($stid, OCI_DEFAULT);
! 44: if (!$r) { echo "Execute error"; die; }
! 45: var_dump($mybv);
! 46: }
! 47:
! 48: OCICommit($c);
! 49:
! 50: $stmtarray = array(
! 51: "drop sequence myseq",
! 52: "drop table mytab"
! 53: );
! 54:
! 55: oci8_test_sql_execute($c, $stmtarray);
! 56:
! 57: echo "Done\n";
! 58: ?>
! 59: --EXPECT--
! 60: string(1) "1"
! 61: string(1) "2"
! 62: string(1) "3"
! 63: string(1) "4"
! 64: string(1) "5"
! 65: string(1) "6"
! 66: string(1) "7"
! 67: string(1) "8"
! 68: string(1) "9"
! 69: string(2) "10"
! 70: string(2) "11"
! 71: string(2) "12"
! 72: string(2) "13"
! 73: string(2) "14"
! 74: string(2) "15"
! 75: string(2) "16"
! 76: string(2) "17"
! 77: string(2) "18"
! 78: string(2) "19"
! 79: string(2) "20"
! 80: string(2) "21"
! 81: string(2) "22"
! 82: string(2) "23"
! 83: string(2) "24"
! 84: string(2) "25"
! 85: string(2) "26"
! 86: string(2) "27"
! 87: string(2) "28"
! 88: string(2) "29"
! 89: string(2) "30"
! 90: string(2) "31"
! 91: string(2) "32"
! 92: string(2) "33"
! 93: string(2) "34"
! 94: string(2) "35"
! 95: string(2) "36"
! 96: string(2) "37"
! 97: string(2) "38"
! 98: string(2) "39"
! 99: string(2) "40"
! 100: string(2) "41"
! 101: string(2) "42"
! 102: string(2) "43"
! 103: string(2) "44"
! 104: string(2) "45"
! 105: string(2) "46"
! 106: string(2) "47"
! 107: string(2) "48"
! 108: string(2) "49"
! 109: string(2) "50"
! 110: string(2) "51"
! 111: string(2) "52"
! 112: string(2) "53"
! 113: string(2) "54"
! 114: string(2) "55"
! 115: string(2) "56"
! 116: string(2) "57"
! 117: string(2) "58"
! 118: string(2) "59"
! 119: string(2) "60"
! 120: string(2) "61"
! 121: string(2) "62"
! 122: string(2) "63"
! 123: string(2) "64"
! 124: string(2) "65"
! 125: string(2) "66"
! 126: string(2) "67"
! 127: string(2) "68"
! 128: string(2) "69"
! 129: string(2) "70"
! 130: string(2) "71"
! 131: string(2) "72"
! 132: string(2) "73"
! 133: string(2) "74"
! 134: string(2) "75"
! 135: string(2) "76"
! 136: string(2) "77"
! 137: string(2) "78"
! 138: string(2) "79"
! 139: string(2) "80"
! 140: string(2) "81"
! 141: string(2) "82"
! 142: string(2) "83"
! 143: string(2) "84"
! 144: string(2) "85"
! 145: string(2) "86"
! 146: string(2) "87"
! 147: string(2) "88"
! 148: string(2) "89"
! 149: string(2) "90"
! 150: string(2) "91"
! 151: string(2) "92"
! 152: string(2) "93"
! 153: string(2) "94"
! 154: string(2) "95"
! 155: string(2) "96"
! 156: string(2) "97"
! 157: string(2) "98"
! 158: string(2) "99"
! 159: string(2) "10"
! 160: string(2) "10"
! 161: string(2) "10"
! 162: string(2) "10"
! 163: string(2) "10"
! 164: string(2) "10"
! 165: string(2) "10"
! 166: string(2) "10"
! 167: string(2) "10"
! 168: string(2) "10"
! 169: string(2) "11"
! 170: string(2) "11"
! 171: string(2) "11"
! 172: string(2) "11"
! 173: string(2) "11"
! 174: string(2) "11"
! 175: string(2) "11"
! 176: string(2) "11"
! 177: string(2) "11"
! 178: string(2) "11"
! 179: string(2) "12"
! 180: string(2) "12"
! 181: string(2) "12"
! 182: string(2) "12"
! 183: string(2) "12"
! 184: string(2) "12"
! 185: string(2) "12"
! 186: string(2) "12"
! 187: string(2) "12"
! 188: string(2) "12"
! 189: string(2) "13"
! 190: string(2) "13"
! 191: string(2) "13"
! 192: string(2) "13"
! 193: string(2) "13"
! 194: string(2) "13"
! 195: string(2) "13"
! 196: string(2) "13"
! 197: string(2) "13"
! 198: string(2) "13"
! 199: string(2) "14"
! 200: string(2) "14"
! 201: string(2) "14"
! 202: string(2) "14"
! 203: string(2) "14"
! 204: string(2) "14"
! 205: string(2) "14"
! 206: string(2) "14"
! 207: string(2) "14"
! 208: string(2) "14"
! 209: string(2) "15"
! 210: string(2) "15"
! 211: string(2) "15"
! 212: string(2) "15"
! 213: string(2) "15"
! 214: string(2) "15"
! 215: string(2) "15"
! 216: string(2) "15"
! 217: string(2) "15"
! 218: string(2) "15"
! 219: string(2) "16"
! 220: string(2) "16"
! 221: string(2) "16"
! 222: string(2) "16"
! 223: string(2) "16"
! 224: string(2) "16"
! 225: string(2) "16"
! 226: string(2) "16"
! 227: string(2) "16"
! 228: string(2) "16"
! 229: string(2) "17"
! 230: string(2) "17"
! 231: string(2) "17"
! 232: string(2) "17"
! 233: string(2) "17"
! 234: string(2) "17"
! 235: string(2) "17"
! 236: string(2) "17"
! 237: string(2) "17"
! 238: string(2) "17"
! 239: string(2) "18"
! 240: string(2) "18"
! 241: string(2) "18"
! 242: string(2) "18"
! 243: string(2) "18"
! 244: string(2) "18"
! 245: string(2) "18"
! 246: string(2) "18"
! 247: string(2) "18"
! 248: string(2) "18"
! 249: string(2) "19"
! 250: string(2) "19"
! 251: string(2) "19"
! 252: string(2) "19"
! 253: string(2) "19"
! 254: string(2) "19"
! 255: string(2) "19"
! 256: string(2) "19"
! 257: string(2) "19"
! 258: string(2) "19"
! 259: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>