summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-01-08 07:49:25 +0000
committerGerrit Code Review <review@openstack.org>2013-01-08 07:49:25 +0000
commit7cd22aaca7e62db77753cfaa1c5af4a0344fea0d (patch)
tree0f19050a38c292e80ae1f144a5cbfb6ea696fcf2
parent50cd91fd1ab09c7b2a234d98221024e132f761fd (diff)
parent36df7fa38cbd0c991c8df2f9f6c8220e2b164394 (diff)
downloadnova-7cd22aaca7e62db77753cfaa1c5af4a0344fea0d.tar.gz
nova-7cd22aaca7e62db77753cfaa1c5af4a0344fea0d.tar.xz
nova-7cd22aaca7e62db77753cfaa1c5af4a0344fea0d.zip
Merge "NovaBase.delete() rename to NovaBase.soft_delete()"
-rw-r--r--nova/db/sqlalchemy/api.py4
-rw-r--r--nova/db/sqlalchemy/models.py4
-rw-r--r--nova/db/sqlalchemy/session.py16
3 files changed, 12 insertions, 12 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index dce92ba54..d70522d73 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -298,12 +298,12 @@ def service_destroy(context, service_id):
session = get_session()
with session.begin():
service_ref = service_get(context, service_id, session=session)
- service_ref.delete(session=session)
+ service_ref.soft_delete(session=session)
if (service_ref.topic == CONF.compute_topic and
service_ref.compute_node):
for c in service_ref.compute_node:
- c.delete(session=session)
+ c.soft_delete(session=session)
@require_admin_context
diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py
index c7e956a40..cdd140b6e 100644
--- a/nova/db/sqlalchemy/models.py
+++ b/nova/db/sqlalchemy/models.py
@@ -51,8 +51,8 @@ class NovaBase(object):
session.add(self)
session.flush()
- def delete(self, session=None):
- """Delete this object."""
+ def soft_delete(self, session=None):
+ """Mark this object as deleted."""
self.deleted = True
self.deleted_at = timeutils.utcnow()
self.save(session=session)
diff --git a/nova/db/sqlalchemy/session.py b/nova/db/sqlalchemy/session.py
index 3bef6765b..5263b9674 100644
--- a/nova/db/sqlalchemy/session.py
+++ b/nova/db/sqlalchemy/session.py
@@ -162,9 +162,9 @@ There are some things which it is best to avoid:
Efficient use of soft deletes:
* There are two possible ways to mark a record as deleted:
- model.delete() and query.soft_delete().
+ model.soft_delete() and query.soft_delete().
- model.delete() method works with single already fetched entry.
+ model.soft_delete() method works with single already fetched entry.
query.soft_delete() makes only one db request for all entries that correspond
to query.
@@ -187,8 +187,8 @@ Efficient use of soft deletes:
if count == 0:
raise Exception("0 entries were soft deleted")
-* There is only one situation where model.delete is appropriate: when you fetch
- a single record, work with it, and mark it as deleted in the same
+* There is only one situation where model.soft_delete() is appropriate: when
+ you fetch a single record, work with it, and mark it as deleted in the same
transaction.
def soft_delete_bar_model():
@@ -196,7 +196,7 @@ Efficient use of soft deletes:
with session.begin():
bar_ref = model_query(BarModel).find(some_condition).first()
# Work with bar_ref
- bar_ref.delete(session=session)
+ bar_ref.soft_delete(session=session)
However, if you need to work with all entries that correspond to query and
then soft delete them you should use query.soft_delete() method:
@@ -213,11 +213,11 @@ Efficient use of soft deletes:
# session and these entries are not used after this.
When working with many rows, it is very important to use query.soft_delete,
- which issues a single query. Using model.delete, as in the following example,
- is very inefficient.
+ which issues a single query. Using model.soft_delete(), as in the following
+ example, is very inefficient.
for bar_ref in bar_refs:
- bar_ref.delete(session=session)
+ bar_ref.soft_delete(session=session)
# This will produce count(bar_refs) db requests.
"""