Annotation of embedaddon/php/ext/oci8/tests/bind_sqltnum.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bind with SQLT_NUM
        !             3: --SKIPIF--
        !             4: <?php
        !             5: if (!extension_loaded('oci8')) die("skip no oci8 extension");
        !             6: if (preg_match('/^1[012]\./', oci_client_version()) != 1) {
        !             7:     die("skip test expected to work only with Oracle 10g or greater version of client");
        !             8: }
        !             9: ?>
        !            10: --FILE--
        !            11: <?php
        !            12: 
        !            13: require(dirname(__FILE__).'/connect.inc');
        !            14: 
        !            15: // Initialization
        !            16: 
        !            17: $stmtarray = array(
        !            18:        "drop table bind_sqltnum_tab",
        !            19: 
        !            20:     "create table bind_sqltnum_tab (
        !            21:         id                number,
        !            22:         varchar2_t10      varchar2(10),
        !            23:         number_t          number,
        !            24:         number_t92        number(9,2))"
        !            25: );
        !            26: 
        !            27: oci8_test_sql_execute($c, $stmtarray);
        !            28: 
        !            29: function check_col($c, $colname, $id)
        !            30: {
        !            31:     $s = oci_parse($c, "select $colname from bind_sqltnum_tab where id = :id");
        !            32:     oci_bind_by_name($s, ":id", $id);
        !            33:     oci_execute($s);
        !            34:     oci_fetch_all($s, $r);
        !            35:     var_dump($r);
        !            36: }
        !            37: 
        !            38: 
        !            39: // Run Test
        !            40: 
        !            41: echo "Test 1 - baseline test\n";
        !            42: 
        !            43: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (100, :c2)");
        !            44: $c2 = "Hood";
        !            45: $r = oci_bind_by_name($s, ":c2", $c2, -1);
        !            46: if (!$r) {
        !            47:     $e = oci_error($s);
        !            48:     var_dump($e);
        !            49: }
        !            50: $r = oci_execute($s, OCI_DEFAULT);
        !            51: if (!$r) {
        !            52:     $e = oci_error($s);
        !            53:     var_dump($e);
        !            54: }
        !            55: 
        !            56: $s = oci_parse($c, "select id, varchar2_t10 from bind_sqltnum_tab");
        !            57: oci_execute($s);
        !            58: oci_fetch_all($s, $data);
        !            59: var_dump($data);
        !            60: 
        !            61: echo "Test 2 - SQLT_NUM to a VARCHAR2 column\n";
        !            62: 
        !            63: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (100, :c2)");
        !            64: $c2 = "Hood";
        !            65: $r = oci_bind_by_name($s, ":c2", $c2, -1, SQLT_NUM);
        !            66: if (!$r) {
        !            67:     $e = oci_error($s);
        !            68:     var_dump($e['message']);
        !            69: }
        !            70: $r = oci_execute($s, OCI_DEFAULT);
        !            71: if (!$r) {
        !            72:     $e = oci_error($s);
        !            73:     var_dump($e['message']);
        !            74: }
        !            75: 
        !            76: echo "\nTEST41 wrong bind type SQLT_NUM\n";
        !            77: 
        !            78: $c2 = "Hood41";
        !            79: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (41, :c2)");
        !            80: oci_bind_by_name($s, ":c2", $c2, -1, SQLT_NUM);
        !            81: oci_execute($s);
        !            82: 
        !            83: echo "\nTEST42 insert numbers SQLT_NUM\n";
        !            84: 
        !            85: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (42, :n1)");
        !            86: $n1 = 42;
        !            87: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !            88: oci_execute($s);
        !            89: 
        !            90: check_col($c, 'number_t', 42);
        !            91: 
        !            92: echo "\nTEST43 insert numbers SQLT_NUM\n";
        !            93: 
        !            94: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (43, :n1)");
        !            95: $n1 = 42.69;
        !            96: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !            97: oci_execute($s);
        !            98: 
        !            99: check_col($c, 'number_t', 43);
        !           100: 
        !           101: echo "\nTEST44\n";
        !           102: 
        !           103: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (44, :n1)");
        !           104: $n1 = 0;
        !           105: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !           106: oci_execute($s);
        !           107: 
        !           108: check_col($c, 'number_t', 44);
        !           109: 
        !           110: echo "\nTEST45\n";
        !           111: 
        !           112: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (45, :n1)");
        !           113: $n1 = -23;
        !           114: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !           115: oci_execute($s);
        !           116: 
        !           117: check_col($c, 'number_t', 45);
        !           118: 
        !           119: echo "\nTEST46 insert numbers\n";
        !           120: 
        !           121: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (46, :n1)");
        !           122: $n1 = "-23";
        !           123: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !           124: oci_execute($s);
        !           125: 
        !           126: check_col($c, 'number_t', 46);
        !           127: 
        !           128: echo "\nTEST47\n";
        !           129: 
        !           130: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (47, :n1)");
        !           131: $n1 = "23";
        !           132: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !           133: oci_execute($s);
        !           134: 
        !           135: check_col($c, 'number_t', 47);
        !           136: 
        !           137: echo "\nTEST48\n";
        !           138: 
        !           139: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (48, :n1)");
        !           140: $n1 = 123.56;
        !           141: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !           142: oci_execute($s);
        !           143: 
        !           144: check_col($c, 'number_t92', 48);
        !           145: 
        !           146: echo "\nTEST49\n";
        !           147: 
        !           148: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (49, :n1)");
        !           149: $n1 = "123.56";
        !           150: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !           151: oci_execute($s);
        !           152: 
        !           153: check_col($c, 'number_t92', 49);
        !           154: 
        !           155: echo "\nTEST50\n";
        !           156: 
        !           157: $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (50, :n1)");
        !           158: $n1 = "";
        !           159: oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
        !           160: oci_execute($s);
        !           161: 
        !           162: check_col($c, 'number_t92', 50);
        !           163: 
        !           164: // Clean up
        !           165: 
        !           166: $stmtarray = array(
        !           167:        "drop table bind_sqltnum_tab"
        !           168: );
        !           169: 
        !           170: oci8_test_sql_execute($c, $stmtarray);
        !           171: 
        !           172: ?>
        !           173: ===DONE===
        !           174: <?php exit(0); ?>
        !           175: --EXPECTF--
        !           176: Test 1 - baseline test
        !           177: array(2) {
        !           178:   ["ID"]=>
        !           179:   array(1) {
        !           180:     [0]=>
        !           181:     string(3) "100"
        !           182:   }
        !           183:   ["VARCHAR2_T10"]=>
        !           184:   array(1) {
        !           185:     [0]=>
        !           186:     string(4) "Hood"
        !           187:   }
        !           188: }
        !           189: Test 2 - SQLT_NUM to a VARCHAR2 column
        !           190: 
        !           191: Warning: oci_execute(): ORA-12899: %s (%s: 40, %s: 10) in %sbind_sqltnum.php on line %d
        !           192: string(%d) "ORA-12899: %s"
        !           193: 
        !           194: TEST41 wrong bind type SQLT_NUM
        !           195: 
        !           196: Warning: oci_execute(): ORA-12899: %s "%s"."BIND_SQLTNUM_TAB"."VARCHAR2_T10" (%s: 40, %s: 10) in %sbind_sqltnum.php on line %d
        !           197: 
        !           198: TEST42 insert numbers SQLT_NUM
        !           199: array(1) {
        !           200:   ["NUMBER_T"]=>
        !           201:   array(1) {
        !           202:     [0]=>
        !           203:     NULL
        !           204:   }
        !           205: }
        !           206: 
        !           207: TEST43 insert numbers SQLT_NUM
        !           208: array(1) {
        !           209:   ["NUMBER_T"]=>
        !           210:   array(1) {
        !           211:     [0]=>
        !           212:     NULL
        !           213:   }
        !           214: }
        !           215: 
        !           216: TEST44
        !           217: array(1) {
        !           218:   ["NUMBER_T"]=>
        !           219:   array(1) {
        !           220:     [0]=>
        !           221:     string(127) "-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        !           222:   }
        !           223: }
        !           224: 
        !           225: TEST45
        !           226: array(1) {
        !           227:   ["NUMBER_T"]=>
        !           228:   array(1) {
        !           229:     [0]=>
        !           230:     NULL
        !           231:   }
        !           232: }
        !           233: 
        !           234: TEST46 insert numbers
        !           235: array(1) {
        !           236:   ["NUMBER_T"]=>
        !           237:   array(1) {
        !           238:     [0]=>
        !           239:     NULL
        !           240:   }
        !           241: }
        !           242: 
        !           243: TEST47
        !           244: array(1) {
        !           245:   ["NUMBER_T"]=>
        !           246:   array(1) {
        !           247:     [0]=>
        !           248:     NULL
        !           249:   }
        !           250: }
        !           251: 
        !           252: TEST48
        !           253: array(1) {
        !           254:   ["NUMBER_T92"]=>
        !           255:   array(1) {
        !           256:     [0]=>
        !           257:     string(1) "0"
        !           258:   }
        !           259: }
        !           260: 
        !           261: TEST49
        !           262: array(1) {
        !           263:   ["NUMBER_T92"]=>
        !           264:   array(1) {
        !           265:     [0]=>
        !           266:     string(1) "0"
        !           267:   }
        !           268: }
        !           269: 
        !           270: TEST50
        !           271: 
        !           272: Warning: oci_execute(): ORA-01438: %s in %sbind_sqltnum.php on line %d
        !           273: array(1) {
        !           274:   ["NUMBER_T92"]=>
        !           275:   array(0) {
        !           276:   }
        !           277: }
        !           278: ===DONE===

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