mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-30 12:34:52 -04:00
Fix mysql+gaerdbms dialect for changed exception format
googleappengine v1.7.5 changed the exception format to be incompatible with MySQLDialect_gaerdbms#_extract_error_code This fix works for both old- and new-style exceptions. Changes causing the breakage: /trunk/python/google/storage/speckle/python/api/rdbms.py at https://code.google.com/p/googleappengine/source/detail?r=318
This commit is contained in:
@@ -65,10 +65,10 @@ class MySQLDialect_gaerdbms(MySQLDialect_mysqldb):
|
||||
return [], opts
|
||||
|
||||
def _extract_error_code(self, exception):
|
||||
match = re.compile(r"^(\d+):").match(str(exception))
|
||||
match = re.compile(r"^(\d+):|^\((\d+),").match(str(exception))
|
||||
# The rdbms api will wrap then re-raise some types of errors
|
||||
# making this regex return no matches.
|
||||
code = match.group(1) if match else None
|
||||
code = match.group(1) or match.group(2) if match else None
|
||||
if code:
|
||||
return int(code)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user