summaryrefslogtreecommitdiffstats
path: root/nova/openstack
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-06-07 19:53:03 +0000
committerGerrit Code Review <review@openstack.org>2013-06-07 19:53:03 +0000
commit08d6c1dd3d8819a73c35c2c59ac5e50224fb9a73 (patch)
treeb6b5a371262dd84e34360a2882a1b807097dc3bd /nova/openstack
parent3100abbd9d15496a9c6eb16c3b4a7be2b2208c59 (diff)
parent64ce647003b110771331d3daf92980729bd3988e (diff)
Merge "Rename unique constraints due to new convention."
Diffstat (limited to 'nova/openstack')
-rw-r--r--nova/openstack/common/db/sqlalchemy/session.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/nova/openstack/common/db/sqlalchemy/session.py b/nova/openstack/common/db/sqlalchemy/session.py
index a3f4283d0..093d8b082 100644
--- a/nova/openstack/common/db/sqlalchemy/session.py
+++ b/nova/openstack/common/db/sqlalchemy/session.py
@@ -386,14 +386,15 @@ def _raise_if_duplicate_entry_error(integrity_error, engine_name):
"""
def get_columns_from_uniq_cons_or_name(columns):
- # note(boris-42): UniqueConstraint name convention: "uniq_c1_x_c2_x_c3"
- # means that columns c1, c2, c3 are in UniqueConstraint.
+ # note(vsergeyev): UniqueConstraint name convention: "uniq_t0c10c2"
+ # where `t` it is table name, `0` it is delimiter and
+ # columns `c1`, `c2` are in UniqueConstraint.
uniqbase = "uniq_"
if not columns.startswith(uniqbase):
if engine_name == "postgresql":
return [columns[columns.index("_") + 1:columns.rindex("_")]]
return [columns]
- return columns[len(uniqbase):].split("_x_")
+ return columns[len(uniqbase):].split("0")[1:]
if engine_name not in ["mysql", "sqlite", "postgresql"]:
return