summaryrefslogtreecommitdiff
path: root/mysql-test/main/system_time_debug.test
blob: 040b4c3000e2a0493fa3e3f31df56798e70d3c6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
source include/have_debug.inc;
#
# MDEV-20079 When setting back the system time while mysqld is running, NOW() and UNIX_TIMESTAMP() results get stuck
#
set @old_dbug=@@debug_dbug;

# because NOW() is taken at the beginning of the query and sysdate() is the actual
# time when sysdate() was evaluated, they don't necessarily have to be equal.
# but hopefully they're less than within a minute from each other.
select timestampdiff(minute,now(),sysdate()) as 'must be 0', (unix_timestamp(sysdate()) - unix_timestamp()) div 60 as 'must be 0';
set @@debug_dbug='+d,system_time_plus_one_hour';
select timestampdiff(minute,now(),sysdate()) as 'must be 0', (unix_timestamp(sysdate()) - unix_timestamp()) div 60 as 'must be 0';
set @@debug_dbug='+d,system_time_minus_one_hour:-d,system_time_plus_one_hour';
select timestampdiff(minute,now(),sysdate()) as 'must be 0', (unix_timestamp(sysdate()) - unix_timestamp()) div 60 as 'must be 0';
set @@debug_dbug=@old_dbug;
select timestampdiff(minute,now(),sysdate()) as 'must be 0', (unix_timestamp(sysdate()) - unix_timestamp()) div 60 as 'must be 0';