diff options
author | Eric Guo <eric.guo@easystack.cn> | 2014-01-07 20:52:16 +0800 |
---|---|---|
committer | Eric Guo <eric.guo@easystack.cn> | 2014-01-07 20:53:04 +0800 |
commit | 2f317347d2963cd79a4b45dca54186e8ef2d04b4 (patch) | |
tree | 3c2158aa528daa384625a2307ba0684456e894af | |
parent | 11bb081d0eb5da5b6b44c35c92574eec14866269 (diff) | |
download | keystone-2f317347d2963cd79a4b45dca54186e8ef2d04b4.tar.gz |
Don't need session.flush in context managed by session
Within the scope of a single method, keeping all the reads and writes within
the context managed by a single session. In this way, the session's __exit__
handler will take care of calling flush() and commit() for you.
If using this approach, you should not explicitly call flush() or commit().
See http://docs.sqlalchemy.org/en/rel_0_7/orm/session.html#committing
Closes-Bug: #1258044
Change-Id: I1125c72712203f1594ef245761dbfc25ed31eab2
-rw-r--r-- | keystone/catalog/backends/sql.py | 6 | ||||
-rw-r--r-- | keystone/contrib/endpoint_filter/backends/sql.py | 2 | ||||
-rw-r--r-- | keystone/contrib/oauth1/backends/sql.py | 7 | ||||
-rw-r--r-- | keystone/credential/backends/sql.py | 3 | ||||
-rw-r--r-- | keystone/identity/backends/sql.py | 8 | ||||
-rw-r--r-- | keystone/policy/backends/sql.py | 3 | ||||
-rw-r--r-- | keystone/token/backends/sql.py | 5 | ||||
-rw-r--r-- | keystone/trust/backends/sql.py | 2 |
8 files changed, 0 insertions, 36 deletions
diff --git a/keystone/catalog/backends/sql.py b/keystone/catalog/backends/sql.py index 8f7952bba..7baa8ea6f 100644 --- a/keystone/catalog/backends/sql.py +++ b/keystone/catalog/backends/sql.py @@ -76,14 +76,12 @@ class Catalog(sql.Base, catalog.Driver): ref = self._get_service(session, service_id) session.query(Endpoint).filter_by(service_id=service_id).delete() session.delete(ref) - session.flush() def create_service(self, service_id, service_ref): session = self.get_session() with session.begin(): service = Service.from_dict(service_ref) session.add(service) - session.flush() return service.to_dict() def update_service(self, service_id, service_ref): @@ -97,7 +95,6 @@ class Catalog(sql.Base, catalog.Driver): if attr != 'id': setattr(ref, attr, getattr(new_service, attr)) ref.extra = new_service.extra - session.flush() return ref.to_dict() # Endpoints @@ -107,7 +104,6 @@ class Catalog(sql.Base, catalog.Driver): new_endpoint = Endpoint.from_dict(endpoint_ref) with session.begin(): session.add(new_endpoint) - session.flush() return new_endpoint.to_dict() def delete_endpoint(self, endpoint_id): @@ -115,7 +111,6 @@ class Catalog(sql.Base, catalog.Driver): with session.begin(): ref = self._get_endpoint(session, endpoint_id) session.delete(ref) - session.flush() def _get_endpoint(self, session, endpoint_id): try: @@ -143,7 +138,6 @@ class Catalog(sql.Base, catalog.Driver): if attr != 'id': setattr(ref, attr, getattr(new_endpoint, attr)) ref.extra = new_endpoint.extra - session.flush() return ref.to_dict() def get_catalog(self, user_id, tenant_id, metadata=None): diff --git a/keystone/contrib/endpoint_filter/backends/sql.py b/keystone/contrib/endpoint_filter/backends/sql.py index 741708fcc..37b4f2396 100644 --- a/keystone/contrib/endpoint_filter/backends/sql.py +++ b/keystone/contrib/endpoint_filter/backends/sql.py @@ -44,7 +44,6 @@ class EndpointFilter(sql.Base): endpoint_filter_ref = ProjectEndpoint(endpoint_id=endpoint_id, project_id=project_id) session.add(endpoint_filter_ref) - session.flush() def _get_project_endpoint_ref(self, session, endpoint_id, project_id): endpoint_filter_ref = session.query(ProjectEndpoint).get( @@ -66,7 +65,6 @@ class EndpointFilter(sql.Base): session, endpoint_id, project_id) with session.begin(): session.delete(endpoint_filter_ref) - session.flush() def list_endpoints_for_project(self, project_id): session = self.get_session() diff --git a/keystone/contrib/oauth1/backends/sql.py b/keystone/contrib/oauth1/backends/sql.py index 653c32858..e840e4e1e 100644 --- a/keystone/contrib/oauth1/backends/sql.py +++ b/keystone/contrib/oauth1/backends/sql.py @@ -108,7 +108,6 @@ class OAuth1(sql.Base): with session.begin(): consumer_ref = Consumer.from_dict(consumer) session.add(consumer_ref) - session.flush() return consumer_ref.to_dict() def _delete_consumer(self, session, consumer_id): @@ -146,7 +145,6 @@ class OAuth1(sql.Base): self._delete_request_tokens(session, consumer_id) self._delete_access_tokens(session, consumer_id) self._delete_consumer(session, consumer_id) - session.flush() def list_consumers(self): session = self.get_session() @@ -162,7 +160,6 @@ class OAuth1(sql.Base): new_consumer = Consumer.from_dict(old_consumer_dict) consumer_ref.description = new_consumer.description consumer_ref.extra = new_consumer.extra - session.flush() return core.filter_consumer(consumer_ref.to_dict()) def create_request_token(self, consumer_id, project_id, token_duration): @@ -186,7 +183,6 @@ class OAuth1(sql.Base): with session.begin(): token_ref = RequestToken.from_dict(ref) session.add(token_ref) - session.flush() return token_ref.to_dict() def _get_request_token(self, session, request_token_id): @@ -216,7 +212,6 @@ class OAuth1(sql.Base): or attr == 'role_ids'): setattr(token_ref, attr, getattr(new_token, attr)) - session.flush() return token_ref.to_dict() def create_access_token(self, request_token_id, token_duration): @@ -250,7 +245,6 @@ class OAuth1(sql.Base): q.delete(False) session.delete(req_token_ref) - session.flush() return token_ref.to_dict() def _get_access_token(self, session, access_token_id): @@ -283,4 +277,3 @@ class OAuth1(sql.Base): q.delete(False) session.delete(token_ref) - session.flush() diff --git a/keystone/credential/backends/sql.py b/keystone/credential/backends/sql.py index 3b513e075..2a9619c81 100644 --- a/keystone/credential/backends/sql.py +++ b/keystone/credential/backends/sql.py @@ -45,7 +45,6 @@ class Credential(sql.Base, credential.Driver): with session.begin(): ref = CredentialModel.from_dict(credential) session.add(ref) - session.flush() return ref.to_dict() def list_credentials(self, **filters): @@ -79,7 +78,6 @@ class Credential(sql.Base, credential.Driver): if attr != 'id': setattr(ref, attr, getattr(new_credential, attr)) ref.extra = new_credential.extra - session.flush() return ref.to_dict() def delete_credential(self, credential_id): @@ -88,7 +86,6 @@ class Credential(sql.Base, credential.Driver): with session.begin(): ref = self._get_credential(session, credential_id) session.delete(ref) - session.flush() def delete_credentials_for_project(self, project_id): session = self.get_session() diff --git a/keystone/identity/backends/sql.py b/keystone/identity/backends/sql.py index 570927e56..5272bdc44 100644 --- a/keystone/identity/backends/sql.py +++ b/keystone/identity/backends/sql.py @@ -117,7 +117,6 @@ class Identity(sql.Base, identity.Driver): with session.begin(): user_ref = User.from_dict(user) session.add(user_ref) - session.flush() return identity.filter_user(user_ref.to_dict()) def list_users(self): @@ -163,7 +162,6 @@ class Identity(sql.Base, identity.Driver): if attr != 'id': setattr(user_ref, attr, getattr(new_user, attr)) user_ref.extra = new_user.extra - session.flush() return identity.filter_user(user_ref.to_dict(include_extra_dict=True)) def add_user_to_group(self, user_id, group_id): @@ -180,7 +178,6 @@ class Identity(sql.Base, identity.Driver): with session.begin(): session.add(UserGroupMembership(user_id=user_id, group_id=group_id)) - session.flush() def check_user_in_group(self, user_id, group_id): session = self.get_session() @@ -204,7 +201,6 @@ class Identity(sql.Base, identity.Driver): raise exception.NotFound('User not found in group') with session.begin(): session.delete(membership_ref) - session.flush() def list_groups_for_user(self, user_id): session = self.get_session() @@ -232,7 +228,6 @@ class Identity(sql.Base, identity.Driver): q.delete(False) session.delete(ref) - session.flush() self.assignment_api.delete_user(user_id) # group crud @@ -243,7 +238,6 @@ class Identity(sql.Base, identity.Driver): with session.begin(): ref = Group.from_dict(group) session.add(ref) - session.flush() return ref.to_dict() def list_groups(self): @@ -275,7 +269,6 @@ class Identity(sql.Base, identity.Driver): if attr != 'id': setattr(ref, attr, getattr(new_group, attr)) ref.extra = new_group.extra - session.flush() return ref.to_dict() def delete_group(self, group_id): @@ -289,5 +282,4 @@ class Identity(sql.Base, identity.Driver): q.delete(False) session.delete(ref) - session.flush() self.assignment_api.delete_group(group_id) diff --git a/keystone/policy/backends/sql.py b/keystone/policy/backends/sql.py index ecfbaf0e4..bdeedcb13 100644 --- a/keystone/policy/backends/sql.py +++ b/keystone/policy/backends/sql.py @@ -41,7 +41,6 @@ class Policy(sql.Base, rules.Policy): with session.begin(): ref = PolicyModel.from_dict(policy) session.add(ref) - session.flush() return ref.to_dict() @@ -75,7 +74,6 @@ class Policy(sql.Base, rules.Policy): ref.blob = new_policy.blob ref.type = new_policy.type ref.extra = new_policy.extra - session.flush() return ref.to_dict() @@ -85,4 +83,3 @@ class Policy(sql.Base, rules.Policy): with session.begin(): ref = self._get_policy(session, policy_id) session.delete(ref) - session.flush() diff --git a/keystone/token/backends/sql.py b/keystone/token/backends/sql.py index 6be932c10..8d816f4e5 100644 --- a/keystone/token/backends/sql.py +++ b/keystone/token/backends/sql.py @@ -61,7 +61,6 @@ class Token(sql.Base, token.Driver): session = self.get_session() with session.begin(): session.add(token_ref) - session.flush() return token_ref.to_dict() def delete_token(self, token_id): @@ -71,7 +70,6 @@ class Token(sql.Base, token.Driver): if not token_ref or not token_ref.valid: raise exception.TokenNotFound(token_id=token_id) token_ref.valid = False - session.flush() def delete_tokens(self, user_id, tenant_id=None, trust_id=None, consumer_id=None): @@ -106,8 +104,6 @@ class Token(sql.Base, token.Driver): token_ref.valid = False - session.flush() - def _tenant_matches(self, tenant_id, token_ref_dict): return ((tenant_id is None) or (token_ref_dict.get('tenant') and @@ -166,7 +162,6 @@ class Token(sql.Base, token.Driver): token_ref_dict = token_ref.to_dict() if self._consumer_matches(consumer_id, token_ref_dict): tokens.append(token_ref_dict['id']) - session.flush() return tokens def _list_tokens(self, user_id, tenant_id=None, trust_id=None, diff --git a/keystone/trust/backends/sql.py b/keystone/trust/backends/sql.py index 144f11690..3a836337a 100644 --- a/keystone/trust/backends/sql.py +++ b/keystone/trust/backends/sql.py @@ -60,7 +60,6 @@ class Trust(sql.Base, trust.Driver): trust_role.role_id = role['id'] added_roles.append({'id': role['id']}) session.add(trust_role) - session.flush() trust_dict = ref.to_dict() trust_dict['roles'] = added_roles return trust_dict @@ -118,4 +117,3 @@ class Trust(sql.Base, trust.Driver): if not trust_ref: raise exception.TrustNotFound(trust_id=trust_id) trust_ref.deleted_at = timeutils.utcnow() - session.flush() |