summaryrefslogtreecommitdiff
path: root/sql/log_event.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r--sql/log_event.cc64
1 files changed, 33 insertions, 31 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc
index 9076d141f0d..83fac4a7706 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -320,7 +320,7 @@ void Log_event::init_show_field_list(List<Item>* field_list)
field_list->push_back(new Item_empty_string("Info", 20));
}
-int Log_event::net_send(THD* thd, const char* log_name, ulong pos)
+int Log_event::net_send(THD* thd, const char* log_name, my_off_t pos)
{
String* packet = &thd->packet;
const char* p = strrchr(log_name, FN_LIBCHAR);
@@ -330,7 +330,7 @@ int Log_event::net_send(THD* thd, const char* log_name, ulong pos)
packet->length(0);
net_store_data(packet, log_name, strlen(log_name));
- net_store_data(packet, (longlong)pos);
+ net_store_data(packet, (longlong) pos);
event_type = get_type_str();
net_store_data(packet, event_type, strlen(event_type));
net_store_data(packet, server_id);
@@ -907,16 +907,16 @@ Load_log_event::Load_log_event(THD* thd, sql_exchange* ex,
db_len = (db) ? (uint32) strlen(db) : 0;
table_name_len = (table_name) ? (uint32) strlen(table_name) : 0;
fname_len = (fname) ? (uint) strlen(fname) : 0;
- sql_ex.field_term = (char*)ex->field_term->ptr();
- sql_ex.field_term_len = ex->field_term->length();
- sql_ex.enclosed = (char*)ex->enclosed->ptr();
- sql_ex.enclosed_len = ex->enclosed->length();
- sql_ex.line_term = (char*)ex->line_term->ptr();
- sql_ex.line_term_len = ex->line_term->length();
- sql_ex.line_start = (char*)ex->line_start->ptr();
- sql_ex.line_start_len = ex->line_start->length();
- sql_ex.escaped = (char*)ex->escaped->ptr();
- sql_ex.escaped_len = ex->escaped->length();
+ sql_ex.field_term = (char*) ex->field_term->ptr();
+ sql_ex.field_term_len = (uint8) ex->field_term->length();
+ sql_ex.enclosed = (char*) ex->enclosed->ptr();
+ sql_ex.enclosed_len = (uint8) ex->enclosed->length();
+ sql_ex.line_term = (char*) ex->line_term->ptr();
+ sql_ex.line_term_len = (uint8) ex->line_term->length();
+ sql_ex.line_start = (char*) ex->line_start->ptr();
+ sql_ex.line_start_len = (uint8) ex->line_start->length();
+ sql_ex.escaped = (char*) ex->escaped->ptr();
+ sql_ex.escaped_len = (uint8) ex->escaped->length();
sql_ex.opt_flags = 0;
sql_ex.cached_new_format = -1;
@@ -991,7 +991,7 @@ int Load_log_event::copy_log_event(const char *buf, ulong event_len)
num_fields = uint4korr(buf + L_NUM_FIELDS_OFFSET + LOG_EVENT_HEADER_LEN);
int body_offset = get_data_body_offset();
- if ((int)event_len < body_offset)
+ if ((int) event_len < body_offset)
return 1;
//sql_ex.init() on success returns the pointer to the first byte after
//the sql_ex structure, which is the start of field lengths array
@@ -1233,7 +1233,8 @@ int Create_file_log_event::write_data_body(IO_CACHE* file)
int res;
if ((res = Load_log_event::write_data_body(file)) || fake_base)
return res;
- return my_b_write(file, "", 1) || my_b_write(file, block, block_len);
+ return (my_b_write(file, (byte*) "", 1) ||
+ my_b_write(file, (byte*) block, block_len));
}
int Create_file_log_event::write_data_header(IO_CACHE* file)
@@ -1241,7 +1242,7 @@ int Create_file_log_event::write_data_header(IO_CACHE* file)
int res;
if ((res = Load_log_event::write_data_header(file)) || fake_base)
return res;
- char buf[CREATE_FILE_HEADER_LEN];
+ byte buf[CREATE_FILE_HEADER_LEN];
int4store(buf + CF_FILE_ID_OFFSET, file_id);
return my_b_write(file, buf, CREATE_FILE_HEADER_LEN);
}
@@ -1321,10 +1322,10 @@ Append_block_log_event::Append_block_log_event(const char* buf, int len):
int Append_block_log_event::write_data(IO_CACHE* file)
{
- char buf[APPEND_BLOCK_HEADER_LEN];
+ byte buf[APPEND_BLOCK_HEADER_LEN];
int4store(buf + AB_FILE_ID_OFFSET, file_id);
- return my_b_write(file, buf, APPEND_BLOCK_HEADER_LEN) ||
- my_b_write(file, block, block_len);
+ return (my_b_write(file, buf, APPEND_BLOCK_HEADER_LEN) ||
+ my_b_write(file, (byte*) block, block_len));
}
#ifdef MYSQL_CLIENT
@@ -1371,7 +1372,7 @@ Delete_file_log_event::Delete_file_log_event(const char* buf, int len):
int Delete_file_log_event::write_data(IO_CACHE* file)
{
- char buf[DELETE_FILE_HEADER_LEN];
+ byte buf[DELETE_FILE_HEADER_LEN];
int4store(buf + DF_FILE_ID_OFFSET, file_id);
return my_b_write(file, buf, DELETE_FILE_HEADER_LEN);
}
@@ -1418,9 +1419,9 @@ Execute_load_log_event::Execute_load_log_event(const char* buf,int len):
int Execute_load_log_event::write_data(IO_CACHE* file)
{
- char buf[EXEC_LOAD_HEADER_LEN];
- int4store(buf + EL_FILE_ID_OFFSET, file_id);
- return my_b_write(file, buf, EXEC_LOAD_HEADER_LEN);
+ byte buf[EXEC_LOAD_HEADER_LEN];
+ int4store(buf + EL_FILE_ID_OFFSET, file_id);
+ return my_b_write(file, buf, EXEC_LOAD_HEADER_LEN);
}
#ifdef MYSQL_CLIENT
@@ -1711,13 +1712,14 @@ int Slave_log_event::exec_event(struct st_master_info* mi)
int Create_file_log_event::exec_event(struct st_master_info* mi)
{
char fname_buf[FN_REFLEN+10];
- char* p,*p1;
+ char *p;
int fd = -1;
IO_CACHE file;
int error = 1;
- p = slave_load_file_stem(fname_buf, file_id, server_id);
- memcpy(p, ".info", 6);
+
bzero((char*)&file, sizeof(file));
+ p = slave_load_file_stem(fname_buf, file_id, server_id);
+ strmov(p, ".info"); // strmov takes less code than memcpy
if ((fd = my_open(fname_buf, O_WRONLY|O_CREAT|O_BINARY|O_TRUNC,
MYF(MY_WME))) < 0 ||
init_io_cache(&file, fd, IO_SIZE, WRITE_CACHE, (my_off_t)0, 0,
@@ -1728,12 +1730,12 @@ int Create_file_log_event::exec_event(struct st_master_info* mi)
}
// a trick to avoid allocating another buffer
- memcpy(p, ".data", 6);
+ strmov(p, ".data");
fname = fname_buf;
fname_len = (uint)(p-fname) + 5;
if (write_base(&file))
{
- memcpy(p, ".info", 6); // to have it right in the error message
+ strmov(p, ".info"); // to have it right in the error message
slave_print_error(my_errno, "Could not write to file '%s'", fname_buf);
goto err;
}
@@ -1747,7 +1749,7 @@ int Create_file_log_event::exec_event(struct st_master_info* mi)
slave_print_error(my_errno, "Could not open file '%s'", fname_buf);
goto err;
}
- if (my_write(fd, block, block_len, MYF(MY_WME+MY_NABP)))
+ if (my_write(fd, (byte*) block, block_len, MYF(MY_WME+MY_NABP)))
{
slave_print_error(my_errno, "Write to '%s' failed", fname_buf);
goto err;
@@ -1790,7 +1792,7 @@ int Append_block_log_event::exec_event(struct st_master_info* mi)
slave_print_error(my_errno, "Could not open file '%s'", fname);
goto err;
}
- if (my_write(fd, block, block_len, MYF(MY_WME+MY_NABP)))
+ if (my_write(fd, (byte*) block, block_len, MYF(MY_WME+MY_NABP)))
{
slave_print_error(my_errno, "Write to '%s' failed", fname);
goto err;
@@ -1810,7 +1812,7 @@ int Execute_load_log_event::exec_event(struct st_master_info* mi)
char* p;
int fd = -1;
int error = 1;
- int save_options;
+ ulong save_options;
IO_CACHE file;
Load_log_event* lev = 0;
p = slave_load_file_stem(fname, file_id, server_id);
@@ -1835,7 +1837,7 @@ int Execute_load_log_event::exec_event(struct st_master_info* mi)
// can preserve ascending order of log sequence numbers - needed
// to handle failover
save_options = thd->options;
- thd->options &= ~ (ulong) OPTION_BIN_LOG;
+ thd->options &= ~ (ulong) (OPTION_BIN_LOG);
lev->thd = thd;
if (lev->exec_event(0,0))
{