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