[MDEV-32929] mysqlbinlog --verbose fails if binlog was created with mysql56_temporal_format=off Created: 2023-12-01  Updated: 2023-12-04

Status: Open
Project: MariaDB Server
Component/s: Scripts & Clients
Affects Version/s: 10.4, 10.5, 10.6, 10.11, 11.0, 11.1, 11.2
Fix Version/s: 10.4, 10.5, 10.6, 10.11, 11.0, 11.1, 11.2

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Brandon Nesterenko
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-32930 mysqlbinlog --verbose shows incorrect... Open

 Description   

If a binary log was created under mysql56_temporal_format=off, mysqlbinlog in verbose mode fails upon parsing a row event involving a timestamp with microseconds.

--source include/have_binlog_format_row.inc
 
set @format.save= @@mysql56_temporal_format;
set global mysql56_temporal_format= off;
 
create table t (a timestamp(6));
insert into t values (now(6));
 
--let $datadir= `select @@datadir`
flush binary logs;
--exec $MYSQL_BINLOG --verbose $datadir/master-bin.000001
 
drop table t;
set global mysql56_temporal_format= @format.save;

10.4 64f44b22d9a3dab3d4c0b77addbcbdafde57b466

mysqltest: At line 11: exec of '/10.4/client//mysqlbinlog --defaults-file=/10.4/mysql-test/var/my.cnf --local-load=/10.4/mysql-test/var/tmp --verbose /10.4/mysql-test/var/mysqld.1/data//master-bin.000001' failed, error: 256, status: 1, errno: 11
Output from before failure:
 
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#231201 21:33:19 server id 1  end_log_pos 256 CRC32 0x0f489f62 	Start: binlog v 4, server v 10.4.33-MariaDB-debug-log created 231201 21:33:19 at startup
ROLLBACK/*!*/;
BINLOG '
/zRqZQ8BAAAA/AAAAAABAAAAAAQAMTAuNC4zMy1NYXJpYURCLWRlYnVnLWxvZwAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD/NGplEzgNAAgAEgAEBAQEEgAA5AAEGggAAAAICAgCAAAACgoKAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAEEwQADQgICAoKCgFin0gP
'/*!*/;
# at 256
#231201 21:33:19 server id 1  end_log_pos 285 CRC32 0xf91f3018 	Gtid list []
# at 285
#231201 21:33:19 server id 1  end_log_pos 329 CRC32 0xe617c813 	Binlog checkpoint master-bin.000001
# at 329
#231201 21:33:19 server id 1  end_log_pos 371 CRC32 0x462484ff 	GTID 0-1-1 ddl
/*!100101 SET @@session.skip_parallel_replication=0*//*!*/;
/*!100001 SET @@session.gtid_domain_id=0*//*!*/;
/*!100001 SET @@session.server_id=1*//*!*/;
/*!100001 SET @@session.gtid_seq_no=1*//*!*/;
# at 371
#231201 21:33:19 server id 1  end_log_pos 469 CRC32 0x5d488e57 	Query	thread_id=5	exec_time=0	error_code=0
use `test`/*!*/;
SET TIMESTAMP=1701459199/*!*/;
SET @@session.pseudo_thread_id=5/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
SET @@session.sql_mode=1411383296/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C latin1 *//*!*/;
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table t (a timestamp(6))
/*!*/;
# at 469
#231201 21:33:19 server id 1  end_log_pos 511 CRC32 0xf624d881 	GTID 0-1-2
/*!100001 SET @@session.gtid_seq_no=2*//*!*/;
START TRANSACTION
/*!*/;
# at 511
# at 563
#231201 21:33:19 server id 1  end_log_pos 563 CRC32 0xfcfc8153 	Annotate_rows:
#Q> insert into t values (now(6))
#231201 21:33:19 server id 1  end_log_pos 607 CRC32 0x9b7a9ce9 	Table_map: `test`.`t` mapped to number 32
# at 607


Generated at Thu Feb 08 10:35:06 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.