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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>