Skip to content

Commit 818f0e0

Browse files
Speedup row_event processing
1 parent e8dad42 commit 818f0e0

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

pymysqlreplication/row_event.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,16 @@ def __init__(self, from_packet, event_size, table_map, ctl_connection):
2222
#Header
2323
self.table_id = self._read_table_id()
2424
self.primary_key = table_map[self.table_id].data["primary_key"]
25-
self.flags = struct.unpack('<H', self.packet.read(2))[0]
2625

2726
#Event V2
2827
if self.event_type == BINLOG.WRITE_ROWS_EVENT_V2 or \
2928
self.event_type == BINLOG.DELETE_ROWS_EVENT_V2 or \
3029
self.event_type == BINLOG.UPDATE_ROWS_EVENT_V2:
31-
self.extra_data_length = struct.unpack('<H',
32-
self.packet.read(2))[0]
30+
self.flags, self.extra_data_length = struct.unpack('<HH', self.packet.read(4))
3331
self.extra_data = self.packet.read(self.extra_data_length / 8)
32+
else:
33+
self.flags = struct.unpack('<H', self.packet.read(2))[0]
34+
3435
#Body
3536
self.number_of_columns = self.packet.read_length_coded_binary()
3637
self.columns = self.table_map[self.table_id].columns

0 commit comments

Comments
 (0)