Get rid of additional fixed_ip filter join
Partial-Bug: #1649317
Change-Id: I692b4b85d539af3465a48eed83e40f2ad5b87e51
(cherry picked from commit f204728e37
)
This commit is contained in:
parent
e334c042a4
commit
1215eb5769
@ -1273,11 +1273,16 @@ class NeutronDbPluginV2(db_base_plugin_common.DbBasePluginCommon,
|
||||
ip_addresses = fixed_ips.get('ip_address')
|
||||
subnet_ids = fixed_ips.get('subnet_id')
|
||||
if ip_addresses or subnet_ids:
|
||||
query = query.join(Port.fixed_ips)
|
||||
if ip_addresses:
|
||||
query = query.filter(IPAllocation.ip_address.in_(ip_addresses))
|
||||
query = query.filter(
|
||||
Port.fixed_ips.any(
|
||||
IPAllocation.ip_address.in_(ip_addresses)
|
||||
)
|
||||
)
|
||||
if subnet_ids:
|
||||
query = query.filter(IPAllocation.subnet_id.in_(subnet_ids))
|
||||
query = query.filter(
|
||||
Port.fixed_ips.any(IPAllocation.subnet_id.in_(subnet_ids))
|
||||
)
|
||||
|
||||
query = self._apply_filters_to_query(query, Port, filters, context)
|
||||
if sorts:
|
||||
|
Loading…
Reference in New Issue
Block a user