mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
f197991f41
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()
28 lines
1.2 KiB
Text
28 lines
1.2 KiB
Text
include/master-slave.inc
|
|
[connection master]
|
|
set time_zone='+03:00';
|
|
set timestamp=unix_timestamp('2011-01-01 01:01:01') + 0.123456;
|
|
create table t1 (a timestamp(4), b varchar(100), c datetime(2));
|
|
insert t1 (b,c) values (now(6), now(6));
|
|
insert t1 values ('2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010','2010-10-10 10:10:10.101010');
|
|
set timestamp=unix_timestamp('2022-02-02 02:02:02') + 0.654321;
|
|
insert t1 (b,c) values (now(), now());
|
|
insert t1 (b,c) values (0,0);
|
|
insert t1 (a,b,c) values (0,0,now(6));
|
|
select * from t1;
|
|
a b c
|
|
2011-01-01 01:01:01.1234 2011-01-01 01:01:01.123456 2011-01-01 01:01:01.12
|
|
2010-10-10 10:10:10.1010 2010-10-10 10:10:10.101010 2010-10-10 10:10:10.10
|
|
2022-02-02 02:02:02.6543 2022-02-02 02:02:02 2022-02-02 02:02:02.00
|
|
2022-02-02 02:02:02.6543 0 0000-00-00 00:00:00.00
|
|
0000-00-00 00:00:00.0000 0 2022-02-02 02:02:02.65
|
|
set time_zone='+03:00';
|
|
select * from t1;
|
|
a b c
|
|
2011-01-01 01:01:01.1234 2011-01-01 01:01:01.123456 2011-01-01 01:01:01.12
|
|
2010-10-10 10:10:10.1010 2010-10-10 10:10:10.101010 2010-10-10 10:10:10.10
|
|
2022-02-02 02:02:02.6543 2022-02-02 02:02:02 2022-02-02 02:02:02.00
|
|
2022-02-02 02:02:02.6543 0 0000-00-00 00:00:00.00
|
|
0000-00-00 00:00:00.0000 0 2022-02-02 02:02:02.65
|
|
drop table t1;
|
|
include/rpl_end.inc
|