Commit 3c55dbe3 authored by dlenev@mysql.com's avatar dlenev@mysql.com

Merge bk-internal.mysql.com:/home/bk/mysql-4.0

into mysql.com:/home/dlenev/src/mysql-4.0-bg-1340
parents d623fc83 69aed374
...@@ -185,6 +185,8 @@ public: ...@@ -185,6 +185,8 @@ public:
} }
Create_file_log_event *grab_event(uint file_id) Create_file_log_event *grab_event(uint file_id)
{ {
if (file_id >= file_names.elements)
return 0;
Create_file_log_event **ptr= Create_file_log_event **ptr=
(Create_file_log_event**)file_names.buffer + file_id; (Create_file_log_event**)file_names.buffer + file_id;
Create_file_log_event *res= *ptr; Create_file_log_event *res= *ptr;
...@@ -198,8 +200,14 @@ public: ...@@ -198,8 +200,14 @@ public:
} }
void process(Append_block_log_event *ae) void process(Append_block_log_event *ae)
{ {
if (ae->file_id >= file_names.elements) Create_file_log_event* ce= 0;
{
if (ae->file_id < file_names.elements)
ce= *((Create_file_log_event**)file_names.buffer + ae->file_id);
if (ce)
append_to_file(ce->fname,O_APPEND|O_BINARY|O_WRONLY,ae->block,ae->block_len);
else
/* /*
There is no Create_file event (a bad binlog or a big There is no Create_file event (a bad binlog or a big
--position). Assuming it's a big --position, we just do nothing and --position). Assuming it's a big --position, we just do nothing and
...@@ -207,11 +215,6 @@ public: ...@@ -207,11 +215,6 @@ public:
*/ */
fprintf(stderr,"Warning: ignoring Append_block as there is no \ fprintf(stderr,"Warning: ignoring Append_block as there is no \
Create_file event for file_id: %u\n",ae->file_id); Create_file event for file_id: %u\n",ae->file_id);
return;
}
Create_file_log_event* ce=
*((Create_file_log_event**)file_names.buffer + ae->file_id);
append_to_file(ce->fname,O_APPEND|O_BINARY|O_WRONLY,ae->block,ae->block_len);
} }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment