From: Eugene Nikanorov Date: Sun, 28 Sep 2014 17:56:00 +0000 (+0400) Subject: Refactor _make_subnet_dict to avoid issuing unnecessary queries X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=acfcb523b15fbd9ccc509e4366e4a141a66d4783;p=openstack-build%2Fneutron-build.git Refactor _make_subnet_dict to avoid issuing unnecessary queries Use joined loads for attributes dns_nameservers and host_routes. As a result, particular scenarios like restarting DHCP agent could benefit from improved server-side performance. Change-Id: I6470356b601e2fcf74c7e0a6df438cef7099e9fe Closes-Bug: #1374044 --- diff --git a/neutron/db/models_v2.py b/neutron/db/models_v2.py index d27c4750a..8def401e7 100644 --- a/neutron/db/models_v2.py +++ b/neutron/db/models_v2.py @@ -184,10 +184,12 @@ class Subnet(model_base.BASEV2, HasId, HasTenant): enable_dhcp = sa.Column(sa.Boolean()) dns_nameservers = orm.relationship(DNSNameServer, backref='subnet', - cascade='all, delete, delete-orphan') + cascade='all, delete, delete-orphan', + lazy='joined') routes = orm.relationship(SubnetRoute, backref='subnet', - cascade='all, delete, delete-orphan') + cascade='all, delete, delete-orphan', + lazy='joined') shared = sa.Column(sa.Boolean) ipv6_ra_mode = sa.Column(sa.Enum(constants.IPV6_SLAAC, constants.DHCPV6_STATEFUL,