updates
This commit is contained in:
@@ -136,7 +136,14 @@ del _map_error, ER
|
||||
|
||||
def raise_mysql_exception(data):
|
||||
errno = struct.unpack("<h", data[1:3])[0]
|
||||
errval = data[9:].decode("utf-8", "replace")
|
||||
# https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_err_packet.html
|
||||
# Error packet has optional sqlstate that is 5 bytes and starts with '#'.
|
||||
if data[3] == 0x23: # '#'
|
||||
# sqlstate = data[4:9].decode()
|
||||
# TODO: Append (sqlstate) in the error message. This will be come in next minor release.
|
||||
errval = data[9:].decode("utf-8", "replace")
|
||||
else:
|
||||
errval = data[3:].decode("utf-8", "replace")
|
||||
errorclass = error_map.get(errno)
|
||||
if errorclass is None:
|
||||
errorclass = InternalError if errno < 1000 else OperationalError
|
||||
|
||||
Reference in New Issue
Block a user