mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Bug #29536: timestamp inconsistent in replication around 1970
MySQL replicates the time zone only when operations that involve it are performed. This is controlled by a flag. But this flag is set only on successful operation. The flag must be set also when there is an error that involves a timezone (so the master would replicate the error to the slaves). Fixed by moving the setting of the flag before the operation (so it apples to errors as well). mysql-test/r/rpl_timezone.result: Bug #29536: test case mysql-test/t/rpl_timezone.test: Bug #29536: test case sql/field.cc: Bug #29536: move setting of the flag before the operation (so it apples to errors as well). sql/time.cc: Bug #29536: move setting of the flag before the operation (so it apples to errors as well).
This commit is contained in:
@ -130,3 +130,21 @@ t
|
||||
2005-01-01 08:00:00
|
||||
drop table t1, t2;
|
||||
set global time_zone= @my_time_zone;
|
||||
End of 4.1 tests
|
||||
CREATE TABLE t1 (a INT, b TIMESTAMP);
|
||||
INSERT INTO t1 VALUES (1, NOW());
|
||||
SET @@session.time_zone='Japan';
|
||||
UPDATE t1 SET b= '1970-01-01 08:59:59' WHERE a= 1;
|
||||
Warnings:
|
||||
Warning 1264 Out of range value adjusted for column 'b' at row 1
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 0000-00-00 00:00:00
|
||||
SET @@session.time_zone='Japan';
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 0000-00-00 00:00:00
|
||||
SET @@session.time_zone = default;
|
||||
DROP TABLE t1;
|
||||
SET @@session.time_zone = default;
|
||||
End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user