summaryrefslogtreecommitdiff
path: root/sql/log_event.cc
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2001-06-22 08:35:18 -0600
committerunknown <sasha@mysql.sashanet.com>2001-06-22 08:35:18 -0600
commitd26e8c39448492e40d70c8179c59ed38a54dc387 (patch)
tree67b81d44bdfef378a12441ec7fee0eb5fc7c93b5 /sql/log_event.cc
parentd310ce76991a8729b575b7c1404e97d2619d7739 (diff)
downloadmariadb-git-d26e8c39448492e40d70c8179c59ed38a54dc387.tar.gz
merged new 3.23 errors
fixed bugs in log seq - now starting to look good fixes for SHOW BINLOG EVENTS will push this one include/mysqld_error.h: merged errors from 3.23 mysql-test/mysql-test-run.sh: wrong quotes in --skip-test mysql-test/r/drop.result: updated test mysql-test/r/rpl_log.result: updated test mysql-test/t/drop.test: updated test mysql-test/t/rpl_log.test: fixed bugs in test case sql/item_sum.h: remove compiler warning about re-ordered initialization sql/log.cc: fixed a bunch of loq_seq bugs sql/log_event.cc: fixed log seq bugs, added info for Slave event in SHOW BINLOG EVENTS sql/share/czech/errmsg.txt: merged errors from 3.23 sql/share/danish/errmsg.txt: merged errors from 3.23 sql/share/dutch/errmsg.txt: merged errors from 3.23 sql/share/english/errmsg.txt: merged errors from 3.23 sql/share/estonian/errmsg.txt: merged errors from 3.23 sql/share/french/errmsg.txt: merged errors from 3.23 sql/share/german/errmsg.txt: merged errors from 3.23 sql/share/greek/errmsg.txt: merged errors from 3.23 sql/share/hungarian/errmsg.txt: merged errors from 3.23 sql/share/italian/errmsg.txt: merged errors from 3.23 sql/share/japanese/errmsg.txt: merged errors from 3.23 sql/share/korean/errmsg.txt: merged errors from 3.23 sql/share/norwegian-ny/errmsg.txt: merged errors from 3.23 sql/share/norwegian/errmsg.txt: merged errors from 3.23 sql/share/polish/errmsg.txt: merged errors from 3.23 sql/share/portuguese/errmsg.txt: merged errors from 3.23 sql/share/romanian/errmsg.txt: merged errors from 3.23 sql/share/russian/errmsg.txt: merged errors from 3.23 sql/share/slovak/errmsg.txt: merged errors from 3.23 sql/share/spanish/errmsg.txt: merged errors from 3.23 sql/share/swedish/errmsg.txt: merged errors from 3.23 sql/slave.cc: fixed log_seq bugs
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r--sql/log_event.cc21
1 files changed, 17 insertions, 4 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc
index bf0875fbb5d..94ef3736cbf 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -204,7 +204,17 @@ void Intvar_log_event::pack_info(String* packet)
void Slave_log_event::pack_info(String* packet)
{
- net_store_data(packet, "", 0);
+ String tmp;
+ char buf[22];
+ tmp.append("host=");
+ tmp.append(master_host);
+ tmp.append(",port=");
+ tmp.append(llstr(master_port,buf));
+ tmp.append(",log=");
+ tmp.append(master_log);
+ tmp.append(",pos=");
+ tmp.append(llstr(master_pos,buf));
+ net_store_data(packet, tmp.ptr(), tmp.length());
}
@@ -889,8 +899,8 @@ void Slave_log_event::init_from_mem_pool(int data_size)
master_host = mem_pool + SL_MASTER_HOST_OFFSET;
master_host_len = strlen(master_host);
// safety
- master_log = master_host + master_host_len;
- if(master_log >= mem_pool + data_size)
+ master_log = master_host + master_host_len + 1;
+ if(master_log > mem_pool + data_size)
{
master_host = 0;
return;
@@ -902,9 +912,12 @@ void Slave_log_event::init_from_mem_pool(int data_size)
Slave_log_event::Slave_log_event(const char* buf, int event_len):
Log_event(buf),mem_pool(0),master_host(0)
{
+ event_len -= LOG_EVENT_HEADER_LEN;
+ if(event_len < 0)
+ return;
if(!(mem_pool = (char*)my_malloc(event_len + 1, MYF(MY_WME))))
return;
- memcpy(mem_pool, buf, event_len);
+ memcpy(mem_pool, buf + LOG_EVENT_HEADER_LEN, event_len);
mem_pool[event_len] = 0;
init_from_mem_pool(event_len);
}