From 5425824271b36c3b9822c76af47c27fc3f338df5 Mon Sep 17 00:00:00 2001 From: Boris Pavlovic Date: Mon, 17 Dec 2012 13:45:41 +0400 Subject: db.security_group_rule_destroy() method performance optimization 1 db requst instead of 2 blueprint db-session-cleanup Change-Id: I094632c422aa9d10278c1b85ec9f4d51a54541b1 --- nova/db/sqlalchemy/api.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 9cc3b64a1..05de52df0 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -3245,10 +3245,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 -- cgit