diff options
author | Gregory Haynes <greg@greghaynes.net> | 2015-02-12 17:51:39 -0800 |
---|---|---|
committer | Gregory Haynes <greg@greghaynes.net> | 2015-02-12 17:53:43 -0800 |
commit | ab20754db71e55b79b9e71e36ad86d9befc89a92 (patch) | |
tree | 036beeb751b908617676633ab2cc384821face7d | |
parent | 2b9d07507695fe04cb5e0ffbda1fa7b9b616aa37 (diff) | |
download | oslo-db-ab20754db71e55b79b9e71e36ad86d9befc89a92.tar.gz |
Fix PyMySQL reference error detection
When PyMySQL experiences a constraing error a unicode string prefix is
prepended part way through the inner_exception string. As a result, we
raise a DBError when we should be raising a DBReferenceError.
Change-Id: I5de1333d933bd28ca535852f4643df2ebbc7f964
-rw-r--r-- | oslo_db/sqlalchemy/exc_filters.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/oslo_db/sqlalchemy/exc_filters.py b/oslo_db/sqlalchemy/exc_filters.py index 5df1eb7..777fda6 100644 --- a/oslo_db/sqlalchemy/exc_filters.py +++ b/oslo_db/sqlalchemy/exc_filters.py @@ -192,7 +192,7 @@ def _sqlite_dupe_key_error(integrity_error, match, engine_name, is_disconnect): "is not present in table " "\"(?P<key_table>[^\"]+)\".") @filters("mysql", sqla_exc.IntegrityError, - r".* 'Cannot add or update a child row: " + r".* u?'Cannot add or update a child row: " 'a foreign key constraint fails \([`"].+[`"]\.[`"](?P<table>.+)[`"], ' 'CONSTRAINT [`"](?P<constraint>.+)[`"] FOREIGN KEY ' '\([`"](?P<key>.+)[`"]\) REFERENCES [`"](?P<key_table>.+)[`"] ') |