summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Haynes <greg@greghaynes.net>2015-02-12 17:51:39 -0800
committerGregory Haynes <greg@greghaynes.net>2015-02-12 17:53:43 -0800
commitab20754db71e55b79b9e71e36ad86d9befc89a92 (patch)
tree036beeb751b908617676633ab2cc384821face7d
parent2b9d07507695fe04cb5e0ffbda1fa7b9b616aa37 (diff)
downloadoslo-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.py2
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>.+)[`"] ')