Avoid applying noop lambdas per object in db_api.get_objects
It's a waste of cpu time, and I hate grep catching my name in tree. ;) TrivialFix Change-Id: I6fad4a4413e41f1fdb434e800e135f6cbe93ffda
This commit is contained in:
parent
2bef2e6699
commit
19307f6edf
@ -272,8 +272,11 @@ class CommonDbMixin(object):
|
||||
limit=limit,
|
||||
marker_obj=marker_obj,
|
||||
page_reverse=page_reverse)
|
||||
items = [attributes.populate_project_info(dict_func(c, fields))
|
||||
for c in query]
|
||||
items = [
|
||||
attributes.populate_project_info(
|
||||
dict_func(c, fields) if dict_func else c)
|
||||
for c in query
|
||||
]
|
||||
if limit and page_reverse:
|
||||
items.reverse()
|
||||
return items
|
||||
|
@ -48,8 +48,7 @@ def get_objects(context, model, _pager=None, **kwargs):
|
||||
plugin = directory.get_plugin()
|
||||
return plugin._get_collection(
|
||||
context, model,
|
||||
# TODO(ihrachys): avoid this no-op call per model found
|
||||
lambda obj, fields: obj,
|
||||
dict_func=None, # return all the data
|
||||
filters=filters,
|
||||
**(_pager.to_kwargs(context, model) if _pager else {}))
|
||||
|
||||
|
@ -46,7 +46,7 @@ class GetObjectsTestCase(test_base.BaseTestCase):
|
||||
api.get_objects(ctxt, model, _pager=pager)
|
||||
get_object.assert_called_with(ctxt, model, id=marker)
|
||||
get_collection.assert_called_with(
|
||||
ctxt, model, mock.ANY,
|
||||
ctxt, model, dict_func=None,
|
||||
filters={},
|
||||
limit=limit,
|
||||
marker_obj=get_object.return_value)
|
||||
|
Loading…
Reference in New Issue
Block a user