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.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc
index 5e255646528..f9f52a88866 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -1379,6 +1379,7 @@ code_name(int code)
case Q_HRNOW: return "Q_HRNOW";
case Q_XID: return "XID";
case Q_GTID_FLAGS3: return "Q_GTID_FLAGS3";
+ case Q_CHARACTER_SET_COLLATIONS: return "Q_CHARACTER_SET_COLLATIONS";
}
sprintf(buf, "CODE#%d", code);
return buf;
@@ -1424,7 +1425,8 @@ Query_log_event::Query_log_event(const uchar *buf, uint event_len,
Log_event_type event_type)
:Log_event(buf, description_event), data_buf(0), query(NullS),
db(NullS), catalog_len(0), status_vars_len(0),
- flags2_inited(0), sql_mode_inited(0), charset_inited(0), flags2(0),
+ flags2_inited(0), sql_mode_inited(0), charset_inited(0),
+ character_set_collations({0,0}), flags2(0),
auto_increment_increment(1), auto_increment_offset(1),
time_zone_len(0), lc_time_names_number(0), charset_database_number(0),
table_map_for_update(0), xid(0), master_data_written(0), gtid_flags_extra(0),
@@ -1552,6 +1554,17 @@ Query_log_event::Query_log_event(const uchar *buf, uint event_len,
pos+= 6;
break;
}
+ case Q_CHARACTER_SET_COLLATIONS:
+ {
+ const uchar *pos0= pos;
+ CHECK_SPACE(pos, end, 1);
+ uint16 count= *pos++;
+ CHECK_SPACE(pos, end, count * 4);
+ pos+= count * 4;
+ character_set_collations= Lex_cstring((const char *) pos0,
+ (const char *) pos);
+ break;
+ }
case Q_TIME_ZONE_CODE:
{
if (get_str_len_and_pointer(&pos, &time_zone_str, &time_zone_len, end))