mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
mysqlbinlog now prints "# Number of rows" and stops on errors
Main problem was that no log-event print function checked for disk full error on the IO_CACHE. All changes in this patch only affects mysqlbinlog, not the server! - Changed all log-event print functions to return 1 on error - Fixed memory usage when not using --flashback. - Added printing of number of rows in row events. Can be disabled with --print-row-count=0 - Print annotated rows when using mysqlbinlog --short-form - Fixed that mysqlbinlog --debug works - Fixed create_drop_binlog.test test failure - Reorganized fields in PRINT_EVENT_INFO to be according to size to optimize storage - Don't change print_row_event_position or print_row_counts if set by user - Remove some testing of argument to my_free is 0 - base64-output=never is now supported and works in all context - Updated help information for --base64-output and --short-form - print_row_count is now on by default. Reset automatically if --short-form is used - Removed obsolote warning for mysql 5.6.0 - More DBUG_PRINT for mysqltest.cc - my_b_write_byte() now checks for flush failures. This fixed a memory overrun on disk full - my_b_printf() now returns 1 on failure, 0 on ok. This simplifies code and no old code was using the old return value of my_b_printf(). - my_b_Write_backtick_quote() now returns 1 on failure and 0 on ok - Fixed some error conditions in log printing that was not previously handled. - Slave_rows_error_report() can now handle longlong positions - Write_on_release_cache() rewritten so that we can detect errors on flush. Not depending on automatic release anymore. - Changed types for Pos and End_log_pos to 64 bit in SHOW BINLOG EVENTS - Fixed that copy_event_cache_to_string_and_reinit() works with strings longer than 4G (Changed to use LEX_STRING instead of String) - Restricted binlog_rows_event_max_size to UINT32_MAX-1 as String's are anyway restricted to UINT32_MAX - Fixed bug in rpl_binlog_state::write_to_iocache() which hide write failures (duplicate variable name) - Fixed bug in String::append if original string was not allocated - Stop mysqlbinlog output at once if there is an error. - Before printing error message, flush result file. This ensures that the error message is printed last. (Easier to find)
This commit is contained in:
@@ -100,6 +100,7 @@ BEGIN
|
||||
### @6='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@@ -125,6 +126,7 @@ BEGIN
|
||||
### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@@ -150,6 +152,7 @@ BEGIN
|
||||
### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@@ -203,6 +206,7 @@ BEGIN
|
||||
### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@@ -248,6 +252,7 @@ BEGIN
|
||||
### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@@ -272,18 +277,23 @@ ROLLBACK/*!*/;
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> INSERT INTO t1 VALUES(0,0,0,0,0,'','','')
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> INSERT INTO t1 VALUES(1,2,3,4,5, "abc", "abcdefg", "abcedfghijklmnopqrstuvwxyz")
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> INSERT INTO t1 VALUES(127, 32767, 8388607, 2147483647, 9223372036854775807, repeat('a', 10), repeat('a', 20), repeat('a', 255))
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> UPDATE t1 SET c01=100 WHERE c02=0 OR c03=3
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 2
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> DELETE FROM t1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 3
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
BEGIN/*!*/;
|
||||
|
Reference in New Issue
Block a user