@@ -95,7 +95,8 @@ class BinLogPacketWrapper(object):
9595 constants .MARIADB_START_ENCRYPTION_EVENT : event .MariadbStartEncryptionEvent
9696 }
9797
98- def __init__ (self , from_packet , table_map ,
98+ def __init__ (self , from_packet ,
99+ table_map ,
99100 ctl_connection ,
100101 mysql_version ,
101102 use_checksum ,
@@ -108,9 +109,9 @@ def __init__(self, from_packet, table_map,
108109 fail_on_table_metadata_unavailable ,
109110 ignore_decode_errors ):
110111 # -1 because we ignore the ok byte
111- self .read_bytes = 0
112+ self .read_bytes : int = 0
112113 # Used when we want to override a value in the data buffer
113- self .__data_buffer = b''
114+ self .__data_buffer : bytes = b''
114115
115116 self .packet = from_packet
116117 self .charset = ctl_connection .charset
@@ -187,7 +188,7 @@ def advance(self, size: int):
187188 else :
188189 self .packet .advance (size )
189190
190- def read_length_coded_binary (self ) -> Optional [str ]:
191+ def read_length_coded_binary (self ) -> Optional [int ]:
191192 """
192193 Read a 'Length Coded Binary' number from the data buffer.
193194 Length coded numbers can be anywhere from 1 to 9 bytes depending
@@ -241,7 +242,7 @@ def read_int_be_by_size(self, size: int):
241242 elif size == 8 :
242243 return struct .unpack ('>l' , self .read (size ))[0 ]
243244
244- def read_uint_by_size (self , size : int ) -> str :
245+ def read_uint_by_size (self , size : int ) -> int :
245246 """
246247 Read a little endian integer values based on byte number
247248 """
@@ -284,73 +285,73 @@ def read_variable_length_string(self) -> Union[int, bytes]:
284285 bits_read = bits_read + 7
285286 return self .read (length )
286287
287- def read_int24 (self ) -> str :
288+ def read_int24 (self ) -> int :
288289 a , b , c = struct .unpack ("BBB" , self .read (3 ))
289290 res = a | (b << 8 ) | (c << 16 )
290291 if res >= 0x800000 :
291292 res -= 0x1000000
292293 return res
293294
294- def read_int24_be (self ) -> str :
295+ def read_int24_be (self ) -> int :
295296 a , b , c = struct .unpack ('BBB' , self .read (3 ))
296297 res = (a << 16 ) | (b << 8 ) | c
297298 if res >= 0x800000 :
298299 res -= 0x1000000
299300 return res
300301
301- def read_uint8 (self ) -> str :
302+ def read_uint8 (self ) -> int :
302303 return struct .unpack ('<B' , self .read (1 ))[0 ]
303304
304- def read_int16 (self ) -> str :
305+ def read_int16 (self ) -> int :
305306 return struct .unpack ('<h' , self .read (2 ))[0 ]
306307
307- def read_uint16 (self ) -> str :
308+ def read_uint16 (self ) -> int :
308309 return struct .unpack ('<H' , self .read (2 ))[0 ]
309310
310- def read_uint24 (self ) -> str :
311+ def read_uint24 (self ) -> int :
311312 a , b , c = struct .unpack ("<BBB" , self .read (3 ))
312313 return a + (b << 8 ) + (c << 16 )
313314
314- def read_uint32 (self ) -> str :
315+ def read_uint32 (self ) -> int :
315316 return struct .unpack ('<I' , self .read (4 ))[0 ]
316317
317- def read_int32 (self ) -> str :
318+ def read_int32 (self ) -> int :
318319 return struct .unpack ('<i' , self .read (4 ))[0 ]
319320
320- def read_uint40 (self ) -> str :
321+ def read_uint40 (self ) -> int :
321322 a , b = struct .unpack ("<BI" , self .read (5 ))
322323 return a + (b << 8 )
323324
324- def read_int40_be (self ) -> str :
325+ def read_int40_be (self ) -> int :
325326 a , b = struct .unpack (">IB" , self .read (5 ))
326327 return b + (a << 8 )
327328
328- def read_uint48 (self ) -> str :
329+ def read_uint48 (self ) -> int :
329330 a , b , c = struct .unpack ("<HHH" , self .read (6 ))
330331 return a + (b << 16 ) + (c << 32 )
331332
332- def read_uint56 (self ) -> str :
333+ def read_uint56 (self ) -> int :
333334 a , b , c = struct .unpack ("<BHI" , self .read (7 ))
334335 return a + (b << 8 ) + (c << 24 )
335336
336- def read_uint64 (self ) -> str :
337+ def read_uint64 (self ) -> int :
337338 return struct .unpack ('<Q' , self .read (8 ))[0 ]
338339
339- def read_int64 (self ) -> str :
340+ def read_int64 (self ) -> int :
340341 return struct .unpack ('<q' , self .read (8 ))[0 ]
341342
342- def unpack_uint16 (self , n : bytes ) -> str :
343+ def unpack_uint16 (self , n : bytes ) -> int :
343344 return struct .unpack ('<H' , n [0 :2 ])[0 ]
344345
345- def unpack_int24 (self , n : bytes ) -> Optional [str , int ]:
346+ def unpack_int24 (self , n : bytes ) -> Optional [str , Tuple [ str , int ] ]:
346347 try :
347348 return struct .unpack ('B' , n [0 ])[0 ] \
348349 + (struct .unpack ('B' , n [1 ])[0 ] << 8 ) \
349350 + (struct .unpack ('B' , n [2 ])[0 ] << 16 )
350351 except TypeError :
351352 return n [0 ] + (n [1 ] << 8 ) + (n [2 ] << 16 )
352353
353- def unpack_int32 (self , n ) :
354+ def unpack_int32 (self , n : bytes ) -> Optional [ str , Tuple [ str , int ]] :
354355 try :
355356 return struct .unpack ('B' , n [0 ])[0 ] \
356357 + (struct .unpack ('B' , n [1 ])[0 ] << 8 ) \
@@ -370,7 +371,7 @@ def read_binary_json(self, size: int) -> Optional[str]:
370371
371372 return self .read_binary_json_type (t , length )
372373
373- def read_binary_json_type (self , t : bytes , length : int ) -> Optional [bool , str ]:
374+ def read_binary_json_type (self , t : int , length : int ) -> Optional [bool , str ]:
374375 large = (t in (JSONB_TYPE_LARGE_OBJECT , JSONB_TYPE_LARGE_ARRAY ))
375376 if t in (JSONB_TYPE_SMALL_OBJECT , JSONB_TYPE_LARGE_OBJECT ):
376377 return self .read_binary_json_object (length - 1 , large )
0 commit comments