summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-01-21 23:02:35 +0000
committerGerrit Code Review <review@openstack.org>2013-01-21 23:02:35 +0000
commit07531ad264a4fd21faa89f19ad032bf34a223d38 (patch)
tree6233cbd20063b9dce87b92c58dac77345febe0c0 /nova/db
parentd82865ad542a426ba941adcc33ccd753c745d642 (diff)
parent5639e27d6fadf34335eebaf3a8925ffcea505882 (diff)
Merge "Clean up db network db calls for fixed and float"
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/sqlalchemy/api.py28
1 files changed, 11 insertions, 17 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 5567ad811..5317487cd 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -891,15 +891,12 @@ def _floating_ip_get_by_address(context, address, session=None):
@require_context
def floating_ip_get_by_fixed_address(context, fixed_address):
- subq = model_query(context, models.FixedIp.id).\
- filter_by(address=fixed_address).\
- limit(1).\
- subquery()
return model_query(context, models.FloatingIp).\
- filter_by(fixed_ip_id=subq.as_scalar()).\
- all()
-
- # NOTE(tr3buchet) please don't invent an exception here, empty list is fine
+ outerjoin(models.FixedIp,
+ models.FixedIp.id ==
+ models.FloatingIp.fixed_ip_id).\
+ filter(models.FixedIp.address == fixed_address).\
+ all()
@require_context
@@ -1197,15 +1194,12 @@ def fixed_ip_get_by_address_detailed(context, address, session=None):
@require_context
def fixed_ip_get_by_floating_address(context, floating_address):
- subq = model_query(context, models.FloatingIp.fixed_ip_id,
- read_deleted="no").\
- filter_by(address=floating_address).\
- limit(1).\
- subquery()
- return model_query(context, models.FixedIp, read_deleted="no").\
- filter_by(id=subq.as_scalar()).\
- first()
-
+ return model_query(context, models.FixedIp).\
+ outerjoin(models.FloatingIp,
+ models.FloatingIp.fixed_ip_id ==
+ models.FixedIp.id).\
+ filter(models.FloatingIp.address == floating_address).\
+ first()
# NOTE(tr3buchet) please don't invent an exception here, empty list is fine