Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
11.8
-
None
Description
The binary log's generated CREATE TABLE says DEFAULT 1; the replica stores a truncated value, because it actually overflows FLOAT.
UUID converts the query to be logged in row format, triggering a show_create_table call, that's where FLOAT DEFAULT is truncated.
--source include/have_binlog_format_mixed.inc
|
--source include/master-slave.inc
|
CREATE TABLE t (f FLOAT DEFAULT 1.0000001) SELECT LENGTH(UUID()) AS u; |
INSERT INTO t (u) VALUES (0); |
SELECT COUNT(*) FROM t WHERE f = 1; |
--sync_slave_with_master
|
SELECT COUNT(*) FROM t WHERE f = 1; |
--connection master
|
DROP TABLE t; |
--source include/rpl_end.inc |
Result (11.8.9):
include/master-slave.inc
|
[connection master]
|
CREATE TABLE t (f FLOAT DEFAULT 1.0000001) SELECT LENGTH(UUID()) AS u;
|
INSERT INTO t (u) VALUES (0);
|
SELECT COUNT(*) FROM t WHERE f = 1;
|
COUNT(*)
|
0
|
connection slave;
|
SELECT COUNT(*) FROM t WHERE f = 1;
|
COUNT(*)
|
1
|
connection master;
|
DROP TABLE t;
|
include/rpl_end.inc
|
Attachments
Issue Links
- relates to
-
MDEV-35753 Export/import does not round trip FLOAT values
-
- Open
-