Use subqueries to find nested members more efficiently

This commit is contained in:
Tom Hughes 2025-02-09 15:40:49 +00:00
parent 974e404a6e
commit ba481319f4
4 changed files with 23 additions and 24 deletions

View file

@ -10,9 +10,11 @@ module Api
# :node_id parameter. note that this used to return deleted ways as well, but
# this seemed not to be the expected behaviour, so it was removed.
def index
way_ids = WayNode.where(:node_id => params[:node_id]).collect { |ws| ws.id[0] }.uniq
@ways = Way.where(:id => way_ids, :visible => true)
@ways = Way
.visible
.where(:id => WayNode.where(
:node_id => params[:node_id]
).select(:way_id))
# Render the result
respond_to do |format|