diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-01-21 23:02:35 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-01-21 23:02:35 +0000 |
| commit | 07531ad264a4fd21faa89f19ad032bf34a223d38 (patch) | |
| tree | 6233cbd20063b9dce87b92c58dac77345febe0c0 /nova/db | |
| parent | d82865ad542a426ba941adcc33ccd753c745d642 (diff) | |
| parent | 5639e27d6fadf34335eebaf3a8925ffcea505882 (diff) | |
Merge "Clean up db network db calls for fixed and float"
Diffstat (limited to 'nova/db')
| -rw-r--r-- | nova/db/sqlalchemy/api.py | 28 |
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 |
