diff options
author | Zuul <zuul@review.openstack.org> | 2017-12-06 17:40:25 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-12-06 17:40:25 +0000 |
commit | 8f6c09df0f23b8cf49f3d64a2152c7526222c8d1 (patch) | |
tree | def97b6b98f359640909d3dfbfd209e456a86fb2 /heat/db | |
parent | 10179a88ece8a42f5d37a56f5151a2dac543c39a (diff) | |
parent | 23e06f66b9e0ccb667c24318764da72aa82d4e18 (diff) | |
download | heat-8f6c09df0f23b8cf49f3d64a2152c7526222c8d1.tar.gz |
Merge "Speed up event listing with nested stacks"
Diffstat (limited to 'heat/db')
-rw-r--r-- | heat/db/sqlalchemy/api.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/heat/db/sqlalchemy/api.py b/heat/db/sqlalchemy/api.py index 10e7f5d74..d00933e88 100644 --- a/heat/db/sqlalchemy/api.py +++ b/heat/db/sqlalchemy/api.py @@ -496,15 +496,18 @@ def resource_get_all_active_by_stack(context, stack_id): def resource_get_all_by_root_stack(context, stack_id, filters=None, - eager=True): + stack_id_only=False): query = context.session.query( models.Resource ).filter_by( root_stack_id=stack_id - ).options(orm.joinedload("data")) + ) - if eager: - query = query.options(orm.joinedload("rsrc_prop_data")) + if stack_id_only: + query = query.options(orm.load_only("id", "stack_id")) + else: + query = query.options(orm.joinedload("data")).options( + orm.joinedload("rsrc_prop_data")) query = db_filters.exact_filter(query, models.Resource, filters) results = query.all() |