summaryrefslogtreecommitdiff
path: root/sql/log_event.h
diff options
context:
space:
mode:
authorsasha@mysql.sashanet.com <>2001-06-14 14:12:40 -0600
committersasha@mysql.sashanet.com <>2001-06-14 14:12:40 -0600
commit7ce33f90fb542c2535d79b8d5137b40a5b06ab5d (patch)
tree8fd6d373cb583effe8991a97cd4aa7a8b88c72f1 /sql/log_event.h
parent0054d8dd854dabd520a6f7cf44bf703aa0e2b2f4 (diff)
downloadmariadb-git-7ce33f90fb542c2535d79b8d5137b40a5b06ab5d.tar.gz
Added slave log event to record the master position in of slave thread
in slave binlog - needed for synchronization slave during recovery
Diffstat (limited to 'sql/log_event.h')
-rw-r--r--sql/log_event.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/sql/log_event.h b/sql/log_event.h
index 41f847e8d92..59657fa75e0 100644
--- a/sql/log_event.h
+++ b/sql/log_event.h
@@ -51,7 +51,7 @@
enum Log_event_type { START_EVENT = 1, QUERY_EVENT =2,
STOP_EVENT=3, ROTATE_EVENT = 4, INTVAR_EVENT=5,
- LOAD_EVENT=6};
+ LOAD_EVENT=6, SLAVE_EVENT=7};
enum Int_event_type { INVALID_INT_EVENT = 0, LAST_INSERT_ID_EVENT = 1, INSERT_ID_EVENT = 2
};
@@ -61,6 +61,8 @@ class String;
extern uint32 server_id;
+struct st_master_info;
+
class Log_event
{
public:
@@ -172,6 +174,33 @@ public:
void print(FILE* file, bool short_form = 0, char* last_db = 0);
};
+class Slave_log_event: public Log_event
+{
+protected:
+ char* mem_pool;
+ void init_from_mem_pool(int data_size);
+public:
+ char* master_host;
+ int master_host_len;
+ uint16 master_port;
+ char* master_log;
+ int master_log_len;
+ ulonglong master_pos;
+
+#ifndef MYSQL_CLIENT
+ Slave_log_event(THD* thd_arg, struct st_master_info* mi);
+#endif
+
+ Slave_log_event(const char* buf, int event_len);
+ Slave_log_event(IO_CACHE* file, time_t when, uint32 server_id_arg);
+ ~Slave_log_event();
+ int get_data_size();
+ Log_event_type get_type_code() { return SLAVE_EVENT; }
+ void print(FILE* file, bool short_form = 0, char* last_db = 0);
+ int write_data(IO_CACHE* file );
+
+};
+
#define DUMPFILE_FLAG 0x1
#define OPT_ENCLOSED_FLAG 0x2
#define REPLACE_FLAG 0x4