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')
|
ip_addresses = fixed_ips.get('ip_address')
|
||||||
subnet_ids = fixed_ips.get('subnet_id')
|
subnet_ids = fixed_ips.get('subnet_id')
|
||||||
if ip_addresses or subnet_ids:
|
if ip_addresses or subnet_ids:
|
||||||
query = query.join(Port.fixed_ips)
|
|
||||||
if ip_addresses:
|
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:
|
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)
|
query = self._apply_filters_to_query(query, Port, filters, context)
|
||||||
if sorts:
|
if sorts:
|
||||||
|
Loading…
Reference in New Issue
Block a user