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

1.1     ! misho       1: --TEST--
        !             2: Bug #42173 (TIMESTAMP and INTERVAL query and field functions)
        !             3: --SKIPIF--
        !             4: <?php
        !             5: $target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
        !             6: require(dirname(__FILE__).'/skipif.inc');
        !             7: ?> 
        !             8: --FILE--
        !             9: <?php
        !            10: 
        !            11: require(dirname(__FILE__).'/connect.inc');
        !            12: 
        !            13: $stmts = array(
        !            14: 
        !            15: "drop table ts_test",
        !            16: 
        !            17: "create table ts_test (
        !            18: c1 TIMESTAMP,
        !            19: c2 TIMESTAMP (5),
        !            20: c3 TIMESTAMP WITH TIME ZONE,
        !            21: c4 TIMESTAMP (2) WITH TIME ZONE,
        !            22: c5 TIMESTAMP WITH LOCAL TIME ZONE,
        !            23: c6 INTERVAL YEAR TO MONTH,
        !            24: c7 INTERVAL YEAR(2) TO MONTH,
        !            25: c8 INTERVAL DAY TO SECOND,
        !            26: c9 INTERVAL DAY(2) TO SECOND(3)
        !            27: )",
        !            28: 
        !            29: "insert into ts_test values (
        !            30: timestamp'1999-01-03 10:00:00.123',
        !            31: timestamp'1999-01-04 10:00:00.123456',
        !            32: timestamp'1999-01-05 10:00:00.123456+1:0',
        !            33: timestamp'1999-01-06 10:00:00.123456-1:0',
        !            34: timestamp'1999-01-06 10:00:00.123456-1:0',
        !            35: interval'1-2' year to month,
        !            36: interval'10-4' year to month,
        !            37: interval'1 2:20:20.123' day to second,
        !            38: interval'1 2:20:20.12345' day to second)");
        !            39: 
        !            40: foreach ($stmts as $sql) {
        !            41:        $s = oci_parse($c, $sql);
        !            42:        $r = @oci_execute($s);
        !            43: }
        !            44: 
        !            45: $s = oci_parse($c, "select * from ts_test");
        !            46: $r = oci_execute($s);
        !            47: $row = oci_fetch_array($s, OCI_ASSOC);
        !            48: var_dump($row);
        !            49: 
        !            50: foreach ($row as $name => $field) {
        !            51:        echo "\nColumn $name\n";
        !            52:        var_dump(oci_field_is_null($s, $name));
        !            53:        var_dump(oci_field_name($s, $name));
        !            54:        var_dump(oci_field_type($s, $name));
        !            55:        var_dump(oci_field_type_raw($s, $name));
        !            56:        var_dump(oci_field_scale($s, $name));
        !            57:        var_dump(oci_field_precision($s, $name));
        !            58:        var_dump(oci_field_size($s, $name));
        !            59: }
        !            60: 
        !            61: // Cleanup
        !            62: 
        !            63: $s = oci_parse($c, "drop table ts_test");
        !            64: $r = @oci_execute($s);
        !            65: 
        !            66: echo "Done\n";
        !            67: 
        !            68: ?>
        !            69: --EXPECTF--
        !            70: array(9) {
        !            71:   ["C1"]=>
        !            72:   string(28) "03-JAN-99 10.00.00.123000 AM"
        !            73:   ["C2"]=>
        !            74:   string(27) "04-JAN-99 10.00.00.12346 AM"
        !            75:   ["C3"]=>
        !            76:   string(35) "05-JAN-99 10.00.00.123456 AM +01:00"
        !            77:   ["C4"]=>
        !            78:   string(31) "06-JAN-99 10.00.00.12 AM -01:00"
        !            79:   ["C5"]=>
        !            80:   string(28) "%s"
        !            81:   ["C6"]=>
        !            82:   string(6) "+01-02"
        !            83:   ["C7"]=>
        !            84:   string(6) "+10-04"
        !            85:   ["C8"]=>
        !            86:   string(19) "+01 02:20:20.123000"
        !            87:   ["C9"]=>
        !            88:   string(16) "+01 02:20:20.123"
        !            89: }
        !            90: 
        !            91: Column C1
        !            92: bool(false)
        !            93: string(2) "C1"
        !            94: string(9) "TIMESTAMP"
        !            95: int(187)
        !            96: int(6)
        !            97: int(0)
        !            98: int(11)
        !            99: 
        !           100: Column C2
        !           101: bool(false)
        !           102: string(2) "C2"
        !           103: string(9) "TIMESTAMP"
        !           104: int(187)
        !           105: int(5)
        !           106: int(0)
        !           107: int(11)
        !           108: 
        !           109: Column C3
        !           110: bool(false)
        !           111: string(2) "C3"
        !           112: string(23) "TIMESTAMP WITH TIMEZONE"
        !           113: int(188)
        !           114: int(6)
        !           115: int(0)
        !           116: int(13)
        !           117: 
        !           118: Column C4
        !           119: bool(false)
        !           120: string(2) "C4"
        !           121: string(23) "TIMESTAMP WITH TIMEZONE"
        !           122: int(188)
        !           123: int(2)
        !           124: int(0)
        !           125: int(13)
        !           126: 
        !           127: Column C5
        !           128: bool(false)
        !           129: string(2) "C5"
        !           130: string(29) "TIMESTAMP WITH LOCAL TIMEZONE"
        !           131: int(232)
        !           132: int(6)
        !           133: int(0)
        !           134: int(11)
        !           135: 
        !           136: Column C6
        !           137: bool(false)
        !           138: string(2) "C6"
        !           139: string(22) "INTERVAL YEAR TO MONTH"
        !           140: int(189)
        !           141: int(0)
        !           142: int(2)
        !           143: int(5)
        !           144: 
        !           145: Column C7
        !           146: bool(false)
        !           147: string(2) "C7"
        !           148: string(22) "INTERVAL YEAR TO MONTH"
        !           149: int(189)
        !           150: int(0)
        !           151: int(2)
        !           152: int(5)
        !           153: 
        !           154: Column C8
        !           155: bool(false)
        !           156: string(2) "C8"
        !           157: string(22) "INTERVAL DAY TO SECOND"
        !           158: int(190)
        !           159: int(6)
        !           160: int(2)
        !           161: int(11)
        !           162: 
        !           163: Column C9
        !           164: bool(false)
        !           165: string(2) "C9"
        !           166: string(22) "INTERVAL DAY TO SECOND"
        !           167: int(190)
        !           168: int(3)
        !           169: int(2)
        !           170: int(11)
        !           171: Done

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