diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-01-04 13:06:18 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-01-04 13:06:18 +0000 |
| commit | 90f4b3ba15578e7a99189e128209bfc286e91d42 (patch) | |
| tree | dd59d8a41453a0762d57de74fa40469d550d6d02 | |
| parent | be22c7fb23448980a2ed1e8dee28abb376e89faf (diff) | |
| parent | 5425824271b36c3b9822c76af47c27fc3f338df5 (diff) | |
Merge "db.security_group_rule_destroy() method performance optimization"
| -rw-r--r-- | nova/db/sqlalchemy/api.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index a1cca73be..e37ccac92 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -3249,10 +3249,12 @@ def security_group_rule_create(context, values): def security_group_rule_destroy(context, security_group_rule_id): session = get_session() with session.begin(): - security_group_rule = security_group_rule_get(context, - security_group_rule_id, - session=session) - security_group_rule.delete(session=session) + count = _security_group_rule_get_query(context, session=session).\ + filter_by(id=security_group_rule_id).\ + soft_delete() + if count == 0: + raise exception.SecurityGroupNotFoundForRule( + rule_id=security_group_rule_id) @require_context |
