9
9
10
10
from .packet import BinLogPacketWrapper
11
11
from .constants .BINLOG import TABLE_MAP_EVENT , ROTATE_EVENT
12
-
12
+ from . event import NotImplementedEvent
13
13
14
14
class BinLogStreamReader (object ):
15
15
"""Connect to replication stream and read event
16
16
"""
17
17
18
18
def __init__ (self , connection_settings = {}, resume_stream = False ,
19
19
blocking = False , only_events = None , server_id = 255 ,
20
- log_file = None , log_pos = None ):
20
+ log_file = None , log_pos = None , filter_non_implemented_events = True ):
21
21
"""
22
22
Attributes:
23
23
resume_stream: Start for event from position or the latest event of
@@ -35,6 +35,7 @@ def __init__(self, connection_settings={}, resume_stream=False,
35
35
self .__resume_stream = resume_stream
36
36
self .__blocking = blocking
37
37
self .__only_events = only_events
38
+ self .__filter_non_implemented_events = filter_non_implemented_events
38
39
self .__server_id = server_id
39
40
40
41
#Store table meta information
@@ -132,6 +133,9 @@ def fetchone(self):
132
133
return binlog_event .event
133
134
134
135
def __filter_event (self , event ):
136
+ if self .__filter_non_implemented_events and isinstance (event , NotImplementedEvent ):
137
+ return True
138
+
135
139
if self .__only_events is not None :
136
140
for allowed_event in self .__only_events :
137
141
if isinstance (event , allowed_event ):
0 commit comments