diff options
author | unknown <gluh@gluh.mysql.r18.ru> | 2003-04-23 18:00:07 +0500 |
---|---|---|
committer | unknown <gluh@gluh.mysql.r18.ru> | 2003-04-23 18:00:07 +0500 |
commit | c14f989ff83e27d0c28964cf1a97e5e58a53c4ff (patch) | |
tree | 630c0de1000122a73a4c374cfe78d36ff24860de /sql/log_event.cc | |
parent | a792b31b90ec4414da4a1cc787818523875fde89 (diff) | |
download | mariadb-git-c14f989ff83e27d0c28964cf1a97e5e58a53c4ff.tar.gz |
Task 761:'mysqlbinlog should not die when reading
unknown event'
client/mysqlbinlog.cc:
Task 761:'mysqlbinlog should not die when reading
unknown event'
The 'force-read' option has been added.
sql/log_event.cc:
Task 761:'mysqlbinlog should not die when reading
unknown event'
The'Unknown_log_event' class has been added
sql/log_event.h:
Task 761:'mysqlbinlog should not die when reading
unknown event'
The 'Unknown_log_event' class has been added.
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r-- | sql/log_event.cc | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index b627636186b..05d5788f5ae 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -659,9 +659,18 @@ Log_event* Log_event::read_log_event(const char* buf, int event_len, } if (!ev || !ev->is_valid()) { - *error= "Found invalid event in binary log"; delete ev; +#ifdef MYSQL_CLIENT + if (!force_opt) + { + *error= "Found invalid event in binary log"; + return 0; + } + ev= new Unknown_log_event(buf, old_format); +#else + *error= "Found invalid event in binary log"; return 0; +#endif } ev->cached_event_len = event_len; return ev; @@ -1695,6 +1704,17 @@ void Execute_load_log_event::pack_info(String* packet) } #endif +#ifdef MYSQL_CLIENT +void Unknown_log_event::print(FILE* file, bool short_form, char* last_db) +{ + if (short_form) + return; + print_header(file); + fputc('\n', file); + fprintf(file, "# %s", "Unknown event\n"); +} +#endif + #ifndef MYSQL_CLIENT int Query_log_event::exec_event(struct st_relay_log_info* rli) { |