1976
1952
virtual enum_skip_reason do_shall_skip(Relay_log_info *rli);
1981
@class Intvar_log_event
1983
An Intvar_log_event will be created just before a Query_log_event,
1984
if the query uses one of the variables LAST_INSERT_ID or INSERT_ID.
1985
Each Intvar_log_event holds the value of one of these variables.
1987
@section Intvar_log_event_binary_format Binary Format
1989
The Post-Header has two components:
1992
<caption>Post-Header for Intvar_log_event</caption>
1997
<th>Description</th>
2002
<td>1 byte enumeration</td>
2003
<td>One byte identifying the type of variable stored. Currently,
2004
two identifiers are supported: LAST_INSERT_ID_EVENT==1 and
2011
<td>8 byte unsigned integer</td>
2012
<td>The value of the variable.</td>
2017
class Intvar_log_event: public Log_event
2023
Intvar_log_event(Session* session_arg,unsigned char type_arg, uint64_t val_arg)
2024
:Log_event(session_arg,0,0),val(val_arg),type(type_arg)
2026
void pack_info(Protocol* protocol);
2028
Intvar_log_event(const char* buf,
2029
const Format_description_log_event *description_event);
2030
~Intvar_log_event() {}
2031
Log_event_type get_type_code() { return INTVAR_EVENT;}
2032
const char* get_var_type_name();
2033
int get_data_size() { return 9; /* sizeof(type) + sizeof(val) */;}
2034
bool write(IO_CACHE* file);
2035
bool is_valid() const { return 1; }
2038
virtual int do_apply_event(Relay_log_info const *rli);
2039
virtual int do_update_pos(Relay_log_info *rli);
2040
virtual enum_skip_reason do_shall_skip(Relay_log_info *rli);
2045
@class Rand_log_event
2047
Logs random seed used by the next RAND(), and by PASSWORD() in 4.1.0.
2048
4.1.1 does not need it (it's repeatable again) so this event needn't be
2049
written in 4.1.1 for PASSWORD() (but the fact that it is written is just a
2050
waste, it does not cause bugs).
2052
The state of the random number generation consists of 128 bits,
2053
which are stored internally as two 64-bit numbers.
2055
@section Rand_log_event_binary_format Binary Format
2056
This event type has no Post-Header. The Body of this event type has
2060
<caption>Post-Header for Intvar_log_event</caption>
2065
<th>Description</th>
2070
<td>8 byte unsigned integer</td>
2071
<td>64 bit random seed1.</td>
2076
<td>8 byte unsigned integer</td>
2077
<td>64 bit random seed2.</td>
2082
class Rand_log_event: public Log_event
2088
Rand_log_event(Session* session_arg, uint64_t seed1_arg, uint64_t seed2_arg)
2089
:Log_event(session_arg,0,0),seed1(seed1_arg),seed2(seed2_arg)
2091
void pack_info(Protocol* protocol);
2093
Rand_log_event(const char* buf,
2094
const Format_description_log_event *description_event);
2095
~Rand_log_event() {}
2096
Log_event_type get_type_code() { return RAND_EVENT;}
2097
int get_data_size() { return 16; /* sizeof(uint64_t) * 2*/ }
2098
bool write(IO_CACHE* file);
2099
bool is_valid() const { return 1; }
2102
virtual int do_apply_event(Relay_log_info const *rli);
2103
virtual int do_update_pos(Relay_log_info *rli);
2104
virtual enum_skip_reason do_shall_skip(Relay_log_info *rli);
2108
1956
@class Xid_log_event
2133
1981
enum_skip_reason do_shall_skip(Relay_log_info *rli);
2137
@class User_var_log_event
2139
Every time a query uses the value of a user variable, a User_var_log_event is
2140
written before the Query_log_event, to set the user variable.
2142
@section User_var_log_event_binary_format Binary Format
2145
class User_var_log_event: public Log_event
2153
uint32_t charset_number;
2155
User_var_log_event(Session*,
2156
char *name_arg, uint32_t name_len_arg,
2157
char *val_arg, ulong val_len_arg, Item_result type_arg,
2158
uint32_t charset_number_arg)
2159
:Log_event(), name(name_arg), name_len(name_len_arg), val(val_arg),
2160
val_len(val_len_arg), type(type_arg), charset_number(charset_number_arg)
2162
void pack_info(Protocol* protocol);
2164
User_var_log_event(const char* buf,
2165
const Format_description_log_event *description_event);
2166
~User_var_log_event() {}
2167
Log_event_type get_type_code() { return USER_VAR_EVENT;}
2168
bool write(IO_CACHE* file);
2169
bool is_valid() const { return 1; }
2172
virtual int do_apply_event(Relay_log_info const *rli);
2173
virtual int do_update_pos(Relay_log_info *rli);
2174
virtual enum_skip_reason do_shall_skip(Relay_log_info *rli);
2179
1986
@class Stop_log_event