Skip to content

Commit 4333bfa

Browse files
Merge pull request #110 from jasonzzz/master
add support for Stop Event, update tests
2 parents a2df4f4 + ec66488 commit 4333bfa

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

pymysqlreplication/binlogstream.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
from pymysql.util import int2byte
99

1010
from .packet import BinLogPacketWrapper
11-
from .constants.BINLOG import TABLE_MAP_EVENT, ROTATE_EVENT
11+
from .constants.BINLOG import TABLE_MAP_EVENT, ROTATE_EVENT, STOP_EVENT
1212
from .gtid import GtidSet
1313
from .event import (
1414
QueryEvent, RotateEvent, FormatDescriptionEvent,
15-
XidEvent, GtidEvent, NotImplementedEvent)
15+
XidEvent, GtidEvent, StopEvent, NotImplementedEvent)
1616
from .row_event import (
1717
UpdateRowsEvent, WriteRowsEvent, DeleteRowsEvent, TableMapEvent)
1818

@@ -292,6 +292,7 @@ def _allowed_event_list(self, only_events, ignored_events,
292292
events = set((
293293
QueryEvent,
294294
RotateEvent,
295+
StopEvent,
295296
FormatDescriptionEvent,
296297
XidEvent,
297298
GtidEvent,

pymysqlreplication/event.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ class FormatDescriptionEvent(BinLogEvent):
9595
pass
9696

9797

98+
class StopEvent(BinLogEvent):
99+
pass
100+
101+
98102
class XidEvent(BinLogEvent):
99103
"""A COMMIT event
100104

pymysqlreplication/packet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class BinLogPacketWrapper(object):
3333
constants.XID_EVENT: event.XidEvent,
3434
constants.INTVAR_EVENT: event.NotImplementedEvent,
3535
constants.GTID_LOG_EVENT: event.GtidEvent,
36-
constants.STOP_EVENT: event.NotImplementedEvent,
36+
constants.STOP_EVENT: event.StopEvent,
3737
# row_event
3838
constants.UPDATE_ROWS_EVENT_V1: row_event.UpdateRowsEvent,
3939
constants.WRITE_ROWS_EVENT_V1: row_event.WriteRowsEvent,

pymysqlreplication/tests/test_basic.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ def ignoredEvents(self):
1414
return [GtidEvent]
1515

1616
def test_allowed_event_list(self):
17-
self.assertEqual(len(self.stream._allowed_event_list(None, None, False)), 10)
18-
self.assertEqual(len(self.stream._allowed_event_list(None, None, True)), 9)
19-
self.assertEqual(len(self.stream._allowed_event_list(None, [RotateEvent], False)), 9)
17+
self.assertEqual(len(self.stream._allowed_event_list(None, None, False)), 11)
18+
self.assertEqual(len(self.stream._allowed_event_list(None, None, True)), 10)
19+
self.assertEqual(len(self.stream._allowed_event_list(None, [RotateEvent], False)), 10)
2020
self.assertEqual(len(self.stream._allowed_event_list([RotateEvent], None, False)), 1)
2121

2222
def test_read_query_event(self):

0 commit comments

Comments
 (0)