1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

MDEV-20591 Wrong Number of rows in mysqlbinlog output

calc_field_event_length should accurately calculate the size of BLOB type
fields, Instead of returning just the bytes taken by length it should return
length bytes + actual length.
This commit is contained in:
Sachin
2019-09-14 12:53:36 +05:30
committed by Sachin Setiya
parent 5b2fa078e8
commit 01bf9f8c3d
3 changed files with 75 additions and 4 deletions

View File

@@ -327,6 +327,14 @@ INSERT INTO t2 SET a=1;
INSERT INTO t2 SET b=1;
UPDATE t1, t2 SET t1.a=10, t2.a=20;
DROP TABLE t1,t2;
#
# MDEV-20591 Wrong Number of rows in mysqlbinlog output.
#
CREATE TABLE t1(c_char_utf8 CHAR(10) ,
c_varchar_utf8 char(10) ,
c_text_utf8 blob );
INSERT into t1 values("B", "B", REPEAT("#", 2000));
drop table t1;
flush logs;
INSERT INTO t1dec102 VALUES (-999.99);
INSERT INTO t1dec102 VALUES (0);
@@ -5274,6 +5282,47 @@ SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1`,`t2` /* generated by server */
/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-317 ddl
/*!100001 SET @@session.gtid_seq_no=317*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
CREATE TABLE t1(c_char_utf8 CHAR(10) ,
c_varchar_utf8 char(10) ,
c_text_utf8 blob )
/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-318
/*!100001 SET @@session.gtid_seq_no=318*//*!*/;
BEGIN
/*!*/;
# at #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
#Q> INSERT into t1 values("B", "B", REPEAT("#", 2000))
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1`
### SET
### @1='B' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @2='B' /* STRING(10) meta=65034 nullable=1 is_null=0 */
### @3='################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
# Number of rows: 1
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
COMMIT
/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-319 ddl
/*!100001 SET @@session.gtid_seq_no=319*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1` /* generated by server */
/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
DELIMITER ;
# End of log file
@@ -5287,17 +5336,17 @@ DELIMITER /*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Start: binlog v 4, server v #.##.## created 010909 4:46:40
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Gtid list [0-1-316]
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Gtid list [0-1-319]
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Binlog checkpoint master-bin.000001
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Binlog checkpoint master-bin.000002
# at #
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-317
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX GTID 0-1-320
/*!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=317*//*!*/;
/*!100001 SET @@session.gtid_seq_no=320*//*!*/;
BEGIN
/*!*/;
# at #