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

1.1     ! misho       1: --TEST--
        !             2: Bug #41917 (invalid scale and precision)
        !             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: $s = oci_parse($c, 'drop table field_funcs2_tab');
        !            11: @oci_execute($s);
        !            12: 
        !            13: $t = array("C01" => "NUMBER",
        !            14:                   "C02" => "NUMBER(*,1)",
        !            15:                   "C03" => "NUMBER(9)",
        !            16:                   "C04" => "NUMBER(9,2)",
        !            17:                   "C05" => "NUMBER(9,1)",
        !            18:                   "C06" => "NUMBER(7,-2)",
        !            19:                   "C07" => "DECIMAL(4,9)",
        !            20:                   "C08" => "NUMERIC(4,9)",
        !            21:                   "C09" => "DECIMAL(4)",
        !            22:                   "C10" => "INTEGER",
        !            23:                   "C11" => "INT",
        !            24:                   "C12" => "SMALLINT",
        !            25:                   "C13" => "FLOAT",
        !            26:                   "C14" => "FLOAT(9)",
        !            27:                   "C15" => "DOUBLE PRECISION",
        !            28:                   "C16" => "REAL",
        !            29:                   );
        !            30: 
        !            31: $stmt = "create table field_funcs2_tab (\n";
        !            32: foreach ($t as $colname => $type) {
        !            33:        $stmt .= "$colname $type,\n";
        !            34: }
        !            35: $stmt[strlen($stmt)-2] = ")";
        !            36: 
        !            37: $s = oci_parse($c, $stmt);
        !            38: oci_execute($s);
        !            39: 
        !            40: $s = oci_parse($c, "select * from field_funcs2_tab");
        !            41: oci_execute($s);
        !            42: 
        !            43: for ($i = 1; $i <= oci_num_fields($s); $i++) {
        !            44:        $name = oci_field_name($s, $i);
        !            45:        $precision = oci_field_precision($s, $i);
        !            46:        $scale = oci_field_scale($s, $i);
        !            47:        echo "$name ".$t[$name] .": precision $precision, scale $scale\n";
        !            48: }
        !            49: 
        !            50: echo "Done\n";
        !            51: ?>
        !            52: --EXPECT--
        !            53: C01 NUMBER: precision 0, scale -127
        !            54: C02 NUMBER(*,1): precision 38, scale 1
        !            55: C03 NUMBER(9): precision 9, scale 0
        !            56: C04 NUMBER(9,2): precision 9, scale 2
        !            57: C05 NUMBER(9,1): precision 9, scale 1
        !            58: C06 NUMBER(7,-2): precision 7, scale -2
        !            59: C07 DECIMAL(4,9): precision 4, scale 9
        !            60: C08 NUMERIC(4,9): precision 4, scale 9
        !            61: C09 DECIMAL(4): precision 4, scale 0
        !            62: C10 INTEGER: precision 38, scale 0
        !            63: C11 INT: precision 38, scale 0
        !            64: C12 SMALLINT: precision 38, scale 0
        !            65: C13 FLOAT: precision 126, scale -127
        !            66: C14 FLOAT(9): precision 9, scale -127
        !            67: C15 DOUBLE PRECISION: precision 126, scale -127
        !            68: C16 REAL: precision 63, scale -127
        !            69: Done

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