mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed bug #28293.
Occasionally mysqlbinlog --hexdump failed with error: ERROR 1064 (42000) at line ...: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Query thread_id=... exec_time=... error_code=... When the length of hexadecimal dump of binlog header was divisible by 16, commentary sign '#' after header was lost. The Log_event::print_header function has been modified to always finish hexadecimal binlog header with "\n# ".
This commit is contained in:
@ -312,4 +312,10 @@ DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
CREATE TABLE t1 (c1 CHAR(10));
|
||||
flush logs;
|
||||
INSERT INTO t1 VALUES ('0123456789');
|
||||
flush logs;
|
||||
DROP TABLE t1;
|
||||
# Query thread_id=REMOVED exec_time=REMOVED error_code=REMOVED
|
||||
End of 5.0 tests
|
||||
|
@ -203,4 +203,17 @@ flush logs;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000009
|
||||
|
||||
#
|
||||
# Bug#28293 missed '#' sign in the hex dump when the dump length
|
||||
# is divisible by 16.
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (c1 CHAR(10));
|
||||
# we need this for getting fixed timestamps inside of this test
|
||||
flush logs;
|
||||
INSERT INTO t1 VALUES ('0123456789');
|
||||
flush logs;
|
||||
DROP TABLE t1;
|
||||
--exec $MYSQL_BINLOG --hexdump --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000011 | grep 'Query' | sed 's/[0-9]\{1,\}/REMOVED/g'
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -1001,11 +1001,15 @@ void Log_event::print_header(FILE* file, PRINT_EVENT_INFO* print_event_info)
|
||||
}
|
||||
*c= '\0';
|
||||
|
||||
/* Non-full last line */
|
||||
if (hex_string[0])
|
||||
{
|
||||
/* Non-full last line */
|
||||
fprintf(file, "# %8.8lx %-48.48s |%s|\n# ",
|
||||
(unsigned long) (hexdump_from + (i & 0xfffffff0)),
|
||||
hex_string, char_string);
|
||||
}
|
||||
else
|
||||
fprintf(file, "# ");
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user