summaryrefslogtreecommitdiff
path: root/mysql-test/r/func_time_hires.result
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2011-05-28 05:11:32 +0300
committerMichael Widenius <monty@askmonty.org>2011-05-28 05:11:32 +0300
commitf197991f4102ed8ac66b7b57071f24f1d3b86aea (patch)
treeb4590b80e7d50b664d8e6ff6a62978cb2402f0a6 /mysql-test/r/func_time_hires.result
parentde44b51e151a00a00d0e396dc57ced3682d24d78 (diff)
parent306ed65302e14f303fdc33cfa9d19016fb319440 (diff)
downloadmariadb-git-f197991f4102ed8ac66b7b57071f24f1d3b86aea.tar.gz
Merge with 5.1-microseconds
A lot of small fixes and new test cases. client/mysqlbinlog.cc: Cast removed client/mysqltest.cc: Added missing DBUG_RETURN include/my_pthread.h: set_timespec_time_nsec() now only takes one argument mysql-test/t/date_formats.test: Remove --disable_ps_protocl as now also ps supports microseconds mysys/my_uuid.c: Changed to use my_interval_timer() instead of my_getsystime() mysys/waiting_threads.c: Changed to use my_hrtime() sql/field.h: Added bool special_const_compare() for fields that may convert values before compare (like year) sql/field_conv.cc: Added test to get optimal copying of identical temporal values. sql/item.cc: Return that item_int is equal if it's positive, even if unsigned flag is different. Fixed Item_cache_str::save_in_field() to have identical null check as other similar functions Added proper NULL check to Item_cache_int::save_in_field() sql/item_cmpfunc.cc: Don't call convert_constant_item() if there is nothing that is worth converting. Simplified test when years should be converted sql/item_sum.cc: Mark cache values in Item_sum_hybrid as not constants to ensure they are not replaced by other cache values in compare_datetime() sql/item_timefunc.cc: Changed sec_to_time() to take a my_decimal argument to ensure we don't loose any sub seconds. Added Item_temporal_func::get_time() (This simplifies some things) sql/mysql_priv.h: Added Lazy_string_decimal() sql/mysqld.cc: Added my_decimal constants max_seconds_for_time_type, time_second_part_factor sql/table.cc: Changed expr_arena to be of type CONVENTIONAL_EXECUTION to ensure that we don't loose any items that are created by fix_fields() sql/tztime.cc: TIME_to_gmt_sec() now sets *in_dst_time_gap in case of errors This is needed to be able to detect if timestamp is 0 storage/maria/lockman.c: Changed from my_getsystime() to set_timespec_time_nsec() storage/maria/ma_loghandler.c: Changed from my_getsystime() to my_hrtime() storage/maria/ma_recovery.c: Changed from my_getsystime() to mmicrosecond_interval_timer() storage/maria/unittest/trnman-t.c: Changed from my_getsystime() to mmicrosecond_interval_timer() storage/xtradb/handler/ha_innodb.cc: Added support for new time,datetime and timestamp unittest/mysys/thr_template.c: my_getsystime() -> my_interval_timer() unittest/mysys/waiting_threads-t.c: my_getsystime() -> my_interval_timer()
Diffstat (limited to 'mysql-test/r/func_time_hires.result')
-rw-r--r--mysql-test/r/func_time_hires.result206
1 files changed, 206 insertions, 0 deletions
diff --git a/mysql-test/r/func_time_hires.result b/mysql-test/r/func_time_hires.result
new file mode 100644
index 00000000000..8a4a9db8da5
--- /dev/null
+++ b/mysql-test/r/func_time_hires.result
@@ -0,0 +1,206 @@
+set time_zone='+03:00';
+set timestamp=unix_timestamp('2011-01-01 01:01:01.123456');
+select sec_to_time(12345), sec_to_time(12345.6789), sec_to_time(1234567e-2);
+sec_to_time(12345) 03:25:45
+sec_to_time(12345.6789) 03:25:45.6789
+sec_to_time(1234567e-2) 03:25:45.670000
+select now(), curtime(0), utc_timestamp(1), utc_time(2), current_time(3),
+current_timestamp(4), localtime(5), localtimestamp(6), time_to_sec('12:34:56'),
+time_to_sec('12:34:56.789');
+now() 2011-01-01 01:01:01
+curtime(0) 01:01:01
+utc_timestamp(1) 2010-12-31 22:01:01.1
+utc_time(2) 22:01:01.12
+current_time(3) 01:01:01.123
+current_timestamp(4) 2011-01-01 01:01:01.1234
+localtime(5) 2011-01-01 01:01:01.12345
+localtimestamp(6) 2011-01-01 01:01:01.123456
+time_to_sec('12:34:56') 45296
+time_to_sec('12:34:56.789') 45296.789
+select sec_to_time(time_to_sec('1:2:3')), sec_to_time(time_to_sec('2:3:4.567890'));
+sec_to_time(time_to_sec('1:2:3')) 01:02:03
+sec_to_time(time_to_sec('2:3:4.567890')) 02:03:04.567890
+select time_to_sec(sec_to_time(11111)), time_to_sec(sec_to_time(11111.22222));
+time_to_sec(sec_to_time(11111)) 11111
+time_to_sec(sec_to_time(11111.22222)) 11111.22222
+select current_timestamp(7);
+ERROR 42000: Too big precision 7 specified for 'now'. Maximum is 6.
+select curtime(7);
+ERROR 42000: Too big precision 7 specified for 'curtime'. Maximum is 6.
+drop table if exists t1;
+create table t1 select sec_to_time(12345), sec_to_time(12345.6789),
+sec_to_time(1234567e-2), now(), curtime(0),
+utc_timestamp(1), utc_time(2), current_time(3),
+current_timestamp(4), localtime(5), localtimestamp(6),
+time_to_sec(123456), time_to_sec('12:34:56.789');
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `sec_to_time(12345)` time DEFAULT NULL,
+ `sec_to_time(12345.6789)` time(4) DEFAULT NULL,
+ `sec_to_time(1234567e-2)` time(6) DEFAULT NULL,
+ `now()` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `curtime(0)` time NOT NULL DEFAULT '00:00:00',
+ `utc_timestamp(1)` datetime(1) NOT NULL DEFAULT '0000-00-00 00:00:00.0',
+ `utc_time(2)` time(2) NOT NULL DEFAULT '00:00:00.00',
+ `current_time(3)` time(3) NOT NULL DEFAULT '00:00:00.000',
+ `current_timestamp(4)` datetime(4) NOT NULL DEFAULT '0000-00-00 00:00:00.0000',
+ `localtime(5)` datetime(5) NOT NULL DEFAULT '0000-00-00 00:00:00.00000',
+ `localtimestamp(6)` datetime(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
+ `time_to_sec(123456)` bigint(17) DEFAULT NULL,
+ `time_to_sec('12:34:56.789')` double DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select * from t1;
+sec_to_time(12345) 03:25:45
+sec_to_time(12345.6789) 03:25:45.6789
+sec_to_time(1234567e-2) 03:25:45.670000
+now() 2011-01-01 01:01:01
+curtime(0) 01:01:01
+utc_timestamp(1) 2010-12-31 22:01:01.1
+utc_time(2) 22:01:01.12
+current_time(3) 01:01:01.123
+current_timestamp(4) 2011-01-01 01:01:01.1234
+localtime(5) 2011-01-01 01:01:01.12345
+localtimestamp(6) 2011-01-01 01:01:01.123456
+time_to_sec(123456) 45296
+time_to_sec('12:34:56.789') 45296.789
+drop table t1;
+select unix_timestamp('2011-01-01 01:01:01'), unix_timestamp('2011-01-01 01:01:01.123456'), unix_timestamp(cast('2011-01-01 01:01:01.123456' as datetime(0))), unix_timestamp(cast('2011-01-01 01:01:01.123456' as datetime(4)));;
+unix_timestamp('2011-01-01 01:01:01') 1293832861
+unix_timestamp('2011-01-01 01:01:01.123456') 1293832861.12346
+unix_timestamp(cast('2011-01-01 01:01:01.123456' as datetime(0))) 1293832861
+unix_timestamp(cast('2011-01-01 01:01:01.123456' as datetime(4))) 1293832861.1235
+select from_unixtime(unix_timestamp('2011/1/1 1:1:1')), from_unixtime(unix_timestamp('2011/1/1 1:1:1.123456')), from_unixtime(unix_timestamp(cast('2011/1/1 1:1:1.123456' as datetime(0)))), from_unixtime(unix_timestamp(cast('2011/1/1 1:1:1.123456' as datetime(4))));;
+from_unixtime(unix_timestamp('2011/1/1 1:1:1')) 2011-01-01 01:01:01
+from_unixtime(unix_timestamp('2011/1/1 1:1:1.123456')) 2011-01-01 01:01:01.123456
+from_unixtime(unix_timestamp(cast('2011/1/1 1:1:1.123456' as datetime(0)))) 2011-01-01 01:01:01
+from_unixtime(unix_timestamp(cast('2011/1/1 1:1:1.123456' as datetime(4)))) 2011-01-01 01:01:01.1234
+select sec_to_time(3020399.99999), sec_to_time(3020399.999999), sec_to_time(3020399.9999999);
+sec_to_time(3020399.99999) sec_to_time(3020399.999999) sec_to_time(3020399.9999999)
+838:59:59.99999 838:59:59.999999 838:59:59.999999
+Warnings:
+Warning 1292 Truncated incorrect time value: '3020399.9999999'
+select sec_to_time(-3020399.99999), sec_to_time(-3020399.999999), sec_to_time(-3020399.9999999);
+sec_to_time(-3020399.99999) sec_to_time(-3020399.999999) sec_to_time(-3020399.9999999)
+-838:59:59.99999 -838:59:59.999999 -838:59:59.999999
+Warnings:
+Warning 1292 Truncated incorrect time value: '-3020399.9999999'
+select 20010101000203.000000004 + interval 1 day;
+20010101000203.000000004 + interval 1 day
+2001-01-02 00:02:03.000000
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '20010101000203.000000004'
+select 20010101000203.00004 + interval 1 day;
+20010101000203.00004 + interval 1 day
+2001-01-02 00:02:03.00004
+set @a=cast('2011-01-02 12:13:14' as datetime);
+select @a + interval 1 minute;
+@a + interval 1 minute
+2011-01-02 12:14:14
+select @a + interval 10 microsecond;
+@a + interval 10 microsecond
+2011-01-02 12:13:14.000010
+select @a + interval 10 microsecond + interval 999990 microsecond;
+@a + interval 10 microsecond + interval 999990 microsecond
+2011-01-02 12:13:15.000000
+set @a='2011-01-02 12:13:14.123456';
+create table t1 select CAST(@a AS DATETIME) as dauto,
+CAST(@a AS DATETIME(0)) as d0,
+CAST(@a AS DATETIME(1)) as d1,
+CAST(@a AS DATETIME(2)) as d2,
+CAST(@a AS DATETIME(3)) as d3,
+CAST(@a AS DATETIME(4)) as d4,
+CAST(@a AS DATETIME(5)) as d5,
+CAST(@a AS DATETIME(6)) as d6,
+CAST(@a AS TIME) as tauto,
+CAST(@a AS TIME(0)) as t0,
+CAST(@a AS TIME(1)) as t1,
+CAST(@a AS TIME(2)) as t2,
+CAST(@a AS TIME(3)) as t3,
+CAST(@a AS TIME(4)) as t4,
+CAST(@a AS TIME(5)) as t5,
+CAST(@a AS TIME(6)) as t6;
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `dauto` datetime DEFAULT NULL,
+ `d0` datetime DEFAULT NULL,
+ `d1` datetime(1) DEFAULT NULL,
+ `d2` datetime(2) DEFAULT NULL,
+ `d3` datetime(3) DEFAULT NULL,
+ `d4` datetime(4) DEFAULT NULL,
+ `d5` datetime(5) DEFAULT NULL,
+ `d6` datetime(6) DEFAULT NULL,
+ `tauto` time DEFAULT NULL,
+ `t0` time DEFAULT NULL,
+ `t1` time(1) DEFAULT NULL,
+ `t2` time(2) DEFAULT NULL,
+ `t3` time(3) DEFAULT NULL,
+ `t4` time(4) DEFAULT NULL,
+ `t5` time(5) DEFAULT NULL,
+ `t6` time(6) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select * from t1;
+dauto 2011-01-02 12:13:14
+d0 2011-01-02 12:13:14
+d1 2011-01-02 12:13:14.1
+d2 2011-01-02 12:13:14.12
+d3 2011-01-02 12:13:14.123
+d4 2011-01-02 12:13:14.1234
+d5 2011-01-02 12:13:14.12345
+d6 2011-01-02 12:13:14.123456
+tauto 12:13:14
+t0 12:13:14
+t1 12:13:14.1
+t2 12:13:14.12
+t3 12:13:14.123
+t4 12:13:14.1234
+t5 12:13:14.12345
+t6 12:13:14.123456
+drop table t1;
+select CAST(@a AS DATETIME(7));
+ERROR 42000: Too big precision 7 specified for '(@a)'. Maximum is 6.
+SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00');
+CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00')
+2011-01-02 15:00:00
+SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00');
+CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00')
+2011-01-02 15:00:00.123000
+SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00');
+CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00')
+2011-01-02 15:00:00.123456
+SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00');
+CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00')
+2010-10-10 13:10:10.1234
+create table t1 (a varchar(200));
+insert t1 values (now(6));
+select * from t1;
+a
+2011-01-01 01:01:01.123456
+drop table t1;
+create table t1 (f1 timestamp(6));
+insert into t1 values ('2002-07-15 21:00:00');
+select time(f1) from t1;
+time(f1)
+21:00:00.000000
+select time(f1) from t1 union all select time(f1 + interval 1 second) from t1;
+time(f1)
+21:00:00.000000
+21:00:01.000000
+alter table t1 modify f1 timestamp;
+select time(f1) from t1;
+time(f1)
+21:00:00
+select time(f1) from t1 union all select time(f1 + interval 1 second) from t1;
+time(f1)
+21:00:00
+21:00:01
+alter table t1 modify f1 varchar(100);
+select time(f1) from t1;
+time(f1)
+21:00:00
+select time(f1) from t1 union all select time(f1 + interval 1 second) from t1;
+time(f1)
+21:00:00.000000
+21:00:01.000000
+drop table t1;