@@ -27,6 +27,7 @@ def __init__(
2727 ignore_decode_errors = False ,
2828 verify_checksum = False ,
2929 optional_meta_data = False ,
30+ dbms = None ,
3031 ):
3132 self .packet = from_packet
3233 self .table_map = table_map
@@ -43,6 +44,7 @@ def __init__(
4344 self ._processed = True
4445 self .complete = True
4546 self ._verify_event ()
47+ self .dbms = dbms
4648
4749 def _read_table_id (self ):
4850 # Table ID is 6 byte
@@ -104,7 +106,7 @@ def __init__(self, from_packet, event_size, table_map, ctl_connection, **kwargs)
104106 self .gno = struct .unpack ("<Q" , self .packet .read (8 ))[0 ]
105107 self .lt_type = self .packet .read (1 )[0 ]
106108
107- if self .mysql_version >= (5 , 7 ):
109+ if not self . is_mariadb and self .mysql_version >= (5 , 7 ):
108110 self .last_committed = struct .unpack ("<Q" , self .packet .read (8 ))[0 ]
109111 self .sequence_number = struct .unpack ("<Q" , self .packet .read (8 ))[0 ]
110112
@@ -367,6 +369,10 @@ def __init__(self, from_packet, event_size, table_map, ctl_connection, **kwargs)
367369 self .binlog_version = struct .unpack ("<H" , self .packet .read (2 ))
368370 self .mysql_version_str = self .packet .read (50 ).rstrip (b"\0 " ).decode ()
369371 numbers = self .mysql_version_str .split ("-" )[0 ]
372+ if "MariaDB" in self .mysql_version_str :
373+ self .dbms = "mariadb"
374+ else :
375+ self .dbms = "mysql"
370376 self .mysql_version = tuple (map (int , numbers .split ("." )))
371377 self .created = struct .unpack ("<I" , self .packet .read (4 ))[0 ]
372378 self .common_header_len = struct .unpack ("<B" , self .packet .read (1 ))[0 ]
0 commit comments