[sqlalchemy-20] Add the needed DB context decorators in ``db.api``

The method ``_get_filter_query`` returns an active query and must
be called always inside a DB context.

Closes-Bug: #1976357
Change-Id: Idea915bd71bfb778f5009be9cf47eace83e11437
This commit is contained in:
Rodolfo Alonso Hernandez 2022-05-16 03:37:58 +00:00
parent 8c1ad2dfad
commit c2786554ad
1 changed files with 6 additions and 6 deletions

View File

@ -23,14 +23,14 @@ from oslo_utils import uuidutils
# Common database operation implementations
def _get_filter_query(obj_cls, context, query_field=None, query_limit=None,
**kwargs):
with obj_cls.db_context_reader(context):
filters = _kwargs_to_filters(**kwargs)
query = model_query.get_collection_query(
context, obj_cls.db_model, filters, limit=query_limit,
field=query_field)
return query
filters = _kwargs_to_filters(**kwargs)
query = model_query.get_collection_query(
context, obj_cls.db_model, filters, limit=query_limit,
field=query_field)
return query
@db_api.CONTEXT_READER
def get_object(obj_cls, context, **kwargs):
return _get_filter_query(obj_cls, context, **kwargs).first()