Annotation of embedaddon/php/ext/oci8/tests/bind_misccoltypes_errs.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bind miscellaneous column types and generating errors
                      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_misccoltypes_errs_tab",
                     14: 
                     15:        "create table bind_misccoltypes_errs_tab (
                     16:         id                number,
                     17:         char_t            char(1),
                     18:         char_t10          char(10),
                     19:         varchar2_t10      varchar2(10),
                     20:         number_t          number,
                     21:         number_t92        number(9,2),
                     22:         number_t6         number(6),
                     23:         date_t            date,
                     24:         timestamp_t       timestamp,
                     25:         float_t           float,
                     26:         binary_float_t    binary_float,
                     27:         binary_double_t   binary_double,
                     28:         decimal_t         decimal,
                     29:         integer_t         integer,
                     30:         nchar_t           nchar(10),
                     31:         nvarchar2_t10     nvarchar2(10),
                     32:         varchar_t10       varchar(10) )",
                     33: );
                     34: 
                     35: oci8_test_sql_execute($c, $stmtarray);
                     36: 
                     37: function check_col($c, $colname, $id)
                     38: {
                     39:     $s = oci_parse($c, "select $colname from bind_misccoltypes_errs_tab where id = :id");
                     40:     oci_bind_by_name($s, ":id", $id);
                     41:     oci_execute($s);
                     42:     oci_fetch_all($s, $r);
                     43:     var_dump($r);
                     44: }
                     45: 
                     46: // Tests
                     47: 
                     48: echo "\nTest 1 insert numbers \n";
                     49: 
                     50: $n1 = -23253245.3432467;
                     51: 
                     52: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, number_t6) VALUES (1, :n1)");
                     53: oci_bind_by_name($s, ":n1", $n1);
                     54: oci_execute($s);
                     55: 
                     56: check_col($c, 'number_t6', 57);
                     57: 
                     58: echo "\nTest 2 insert numbers \n";
                     59: 
                     60: $n1 = "Hello";
                     61: 
                     62: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, number_t6) VALUES (2, :n1)");
                     63: oci_bind_by_name($s, ":n1", $n1);
                     64: oci_execute($s);
                     65: 
                     66: check_col($c, 'number_t6', 57);
                     67: 
                     68: echo "\nTest 3 - too long CHAR\n";
                     69: 
                     70: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, char_t) VALUES (3, :c2)");
                     71: $c2 = "AB";
                     72: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
                     73: oci_execute($s);
                     74: 
                     75: echo "\nTest 4 - too long VARCHAR2\n";
                     76: 
                     77: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, varchar2_t10) VALUES (4, :c2)");
                     78: $c2 = "AAAAAAAAAAB";
                     79: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
                     80: oci_execute($s);
                     81: 
                     82: echo "\nTest 5 - invalid number\n";
                     83: 
                     84: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, number_t) VALUES (5, :c2)");
                     85: $c2 = "ABC";
                     86: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_AFC);
                     87: oci_execute($s);
                     88: 
                     89: echo "\nTest 6 - insert a VARCHAR2 with SQLT_BIN\n";
                     90: 
                     91: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, varchar2_t10) VALUES (6, :c2)");
                     92: $c2 = "Hood 6";
                     93: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_BIN);
                     94: oci_execute($s);
                     95: 
                     96: check_col($c, 'varchar2_t10', 6);
                     97: 
                     98: echo "\nTest 7 - insert a VARCHAR2 with SQLT_LBI\n";
                     99: 
                    100: $s = oci_parse($c, "INSERT INTO bind_misccoltypes_errs_tab (id, varchar2_t10) VALUES (7, :c2)");
                    101: $c2 = "Hood 7";
                    102: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_LBI);
                    103: oci_execute($s);
                    104: 
                    105: check_col($c, 'varchar2_t10', 7);
                    106: 
                    107: 
                    108: // Clean up
                    109: 
                    110: $stmtarray = array(
                    111:        "drop table bind_misccoltypes_errs_tab"
                    112: );
                    113: 
                    114: oci8_test_sql_execute($c, $stmtarray);
                    115: 
                    116: oci_close($c);
                    117: 
                    118: ?>
                    119: ===DONE===
                    120: <?php exit(0); ?>
                    121: --EXPECTF--
                    122: Test 1 insert numbers 
                    123: 
                    124: Warning: oci_execute(): ORA-01438: %s in %sbind_misccoltypes_errs.php on line %d
                    125: array(1) {
                    126:   ["NUMBER_T6"]=>
                    127:   array(0) {
                    128:   }
                    129: }
                    130: 
                    131: Test 2 insert numbers 
                    132: 
                    133: Warning: oci_execute(): ORA-01722: %s in %sbind_misccoltypes_errs.php on line %d
                    134: array(1) {
                    135:   ["NUMBER_T6"]=>
                    136:   array(0) {
                    137:   }
                    138: }
                    139: 
                    140: Test 3 - too long CHAR
                    141: 
                    142: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."CHAR_T" \(%s: 2, %s: 1\)|String data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
                    143: 
                    144: Test 4 - too long VARCHAR2
                    145: 
                    146: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."VARCHAR2_T10" \(%s: 11, %s: 10\)|%s data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
                    147: 
                    148: Test 5 - invalid number
                    149: 
                    150: Warning: oci_execute(): ORA-01722: %s in %sbind_misccoltypes_errs.php on line %d
                    151: 
                    152: Test 6 - insert a VARCHAR2 with SQLT_BIN
                    153: 
                    154: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."VARCHAR2_T10" \(%s: 12, %s: 10\)|String data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
                    155: array(1) {
                    156:   ["VARCHAR2_T10"]=>
                    157:   array(0) {
                    158:   }
                    159: }
                    160: 
                    161: Test 7 - insert a VARCHAR2 with SQLT_LBI
                    162: 
                    163: Warning: oci_execute(): ORA-12899: %r(%s "%s"."BIND_MISCCOLTYPES_ERRS_TAB"."VARCHAR2_T10" \(%s: 12, %s: 10\)|String data right truncation)%r in %sbind_misccoltypes_errs.php on line %d
                    164: array(1) {
                    165:   ["VARCHAR2_T10"]=>
                    166:   array(0) {
                    167:   }
                    168: }
                    169: ===DONE===

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