[MDEV-7269] mysqlbinlog Don't know how to handle column type=0 meta=0 (0000)# Created: 2014-12-05  Updated: 2015-06-08  Resolved: 2015-06-04

Status: Closed
Project: MariaDB Server
Component/s: Replication, Scripts & Clients
Affects Version/s: 5.5, 10.0
Fix Version/s: 5.5.44

Type: Bug Priority: Major
Reporter: Daniel Black Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: None
Environment:

cento6


Issue Links:
Blocks
blocks MDEV-7628 Row-based replication of old DECIMAL ... Stalled
Sprint: 5.5.44

 Description   

mysqlbinlog Ver 3.3 for Linux at x86_64 from MariaDB-client.x86_64 5.5.40-1.el6 @mariadb

Following on from MDEV-7268

mysqlbinlog --start-position 30748070  mysql-bin.046557 | more
 
BEGIN
/*!*/;
# at 30748141
# at 30748202
# at 30748274
#141204 10:12:43 server id 1  end_log_pos 30748202      Table_map: `weather`.`lightning` mapped to number 177647
#141204 10:12:43 server id 1  end_log_pos 30748274      Table_map: `weather`.`_lightning_new` mapped to number 177646
#141204 10:12:43 server id 1  end_log_pos 30748356      Delete_rows: table id 177647 flags: STMT_END_F
 
BINLOG '
65h/VBMBAAAAPQAAACou1QEAAO+1AgAAAAEAB3dlYXRoZXIACWxpZ2h0bmluZwAHAw8MAAAADwQK
AAoAYA==
65h/VBMBAAAASAAAAHIu1QEAAO61AgAAAAEAB3dlYXRoZXIADl9saWdodG5pbmdfbmV3AAcDDwz2
9vYPCgoACgcKBwUBCgBg
65h/VBkBAAAAUgAAAMQu1QEAAO+1AgAAAAEAB/+AG4GOBAVHUEFUU5OG1tNFEgAAIC0zMy42MzA3
NDc5IDE1Mi44MzIwNjk3ICAtNDEuMgJHUw==
'/*!*/;
# at 30748356
#141204 10:12:43 server id 1  end_log_pos 30748383      Xid = 12786901894
COMMIT/*!*/;

decoded version

mysqlbinlog --start-position 30748070  --verbose --base64-output=decode-rows mysql-bin.046557 | more
 
BEGIN
/*!*/;
# at 30748141
# at 30748202
# at 30748274
#141204 10:12:43 server id 1  end_log_pos 30748202      Table_map: `weather`.`lightning` mapped to number 177647
#141204 10:12:43 server id 1  end_log_pos 30748274      Table_map: `weather`.`_lightning_new` mapped to number 177646
#141204 10:12:43 server id 1  end_log_pos 30748356      Delete_rows: table id 177647 flags: STMT_END_F
### DELETE FROM `weather`.`lightning`
### WHERE
###   @1=76448027
###   @2='GPATS'
###   @3=2009-11-16 09:51:23
###   @4=!! Don't know how to handle column type=0 meta=0 (0000)# at 30748356
#141204 10:12:43 server id 1  end_log_pos 30748383      Xid = 12786901894
COMMIT/*!*/;
 

from upstream:

mysqlbinlog did not properly decode DECIMAL ( http://dev.mysql.com/doc/refman/5.6/en/fixed-point-types.html ) values in a row-based binary log. This could cause invalid values to be printed out for DECIMAL columns. (Bug #17544169)



 Comments   
Comment by Elena Stepanova [ 2014-12-08 ]

While the parent issue MDEV-7268 is still full of mysteries, this one is quite straightforward.

If a server has a table with a column of type DECIMAL (as opposed to NEWDECIMAL), the described effect happens while trying to read its row-based event.

Please note it's not an operational error; doesn't matter how many mysql_upgrade's and ALTER's a table has undergone, the DECIMAL type remains intact. A table should be re-created from scratch (not via LIKE, but with the actual CREATE TABLE statement) to get rid of it.

Comment by Sergei Golubchik [ 2015-06-04 ]

for the record, Bug#17544169 is about new decimal type, not related to this bug report.

Generated at Thu Feb 08 07:18:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.