Skip to content

Commit 9d41eb7

Browse files
Cleanup after @bjoernhaeuser feedback
1 parent c78ddbe commit 9d41eb7

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

pymysqlreplication/binlogstream.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@ def __init__(self, connection_settings, server_id, resume_stream=False,
4949
self.__connected_ctl = False
5050
self.__resume_stream = resume_stream
5151
self.__blocking = blocking
52-
self.__only_events = self._allowed_event_list(only_events, ignored_events, filter_non_implemented_events)
52+
self.__allowed_events = self._allowed_event_list(only_events, ignored_events, filter_non_implemented_events)
53+
54+
# We can't filter on packet level TABLE_MAP and rotate event because we need
55+
# them for handling other operations
56+
self.__allowed_events_in_packet = frozenset([TableMapEvent, RotateEvent]).union(self.__allowed_events)
57+
5358
self.__server_id = server_id
5459
self.__use_checksum = False
5560

@@ -228,7 +233,7 @@ def fetchone(self):
228233
binlog_event = BinLogPacketWrapper(pkt, self.table_map,
229234
self._ctl_connection,
230235
self.__use_checksum,
231-
self.__only_events)
236+
self.__allowed_events_in_packet)
232237
if binlog_event.event_type == TABLE_MAP_EVENT:
233238
self.table_map[binlog_event.event.table_id] = \
234239
binlog_event.event.get_table()
@@ -251,7 +256,7 @@ def fetchone(self):
251256

252257
# event is none if we have filter it on packet level
253258
# we filter also not allowed events
254-
if binlog_event.event is None or (binlog_event.event.__class__ not in self.__only_events):
259+
if binlog_event.event is None or (binlog_event.event.__class__ not in self.__allowed_events):
255260
continue
256261

257262
return binlog_event.event

pymysqlreplication/packet.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,8 @@ def __init__(self, from_packet, table_map, ctl_connection, use_checksum, allowed
8282
self.event = None
8383
event_class = self.__event_map.get(self.event_type, event.NotImplementedEvent)
8484

85-
# We can't filter on packet level TABLE_MAP and rotate event because we need
86-
# them for handling other operations
87-
if not self.event_type in (constants.TABLE_MAP_EVENT, constants.ROTATE_EVENT):
88-
if event_class not in allowed_events:
89-
return
85+
if event_class not in allowed_events:
86+
return
9087
self.event = event_class(self, event_size_without_header, table_map,
9188
ctl_connection)
9289

0 commit comments

Comments
 (0)