From: Andy Allan Date: Wed, 11 Nov 2020 17:52:33 +0000 (+0000) Subject: Preload traces for the selected points X-Git-Tag: live~2448^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/e6d7da3a629c952a5d27f4d356dd4d5c4293848a?hp=-c Preload traces for the selected points It doesn't make a huge difference, since rails caches all the results of the queries generated by point.trace lookups, but at least it cuts down on the logs. --- e6d7da3a629c952a5d27f4d356dd4d5c4293848a diff --git a/app/controllers/api/tracepoints_controller.rb b/app/controllers/api/tracepoints_controller.rb index 81de17bbc..9dc6e0d8b 100644 --- a/app/controllers/api/tracepoints_controller.rb +++ b/app/controllers/api/tracepoints_controller.rb @@ -33,7 +33,7 @@ module Api # get all the points ordered_points = Tracepoint.bbox(bbox).joins(:trace).where(:gpx_files => { :visibility => %w[trackable identifiable] }).order("gpx_id DESC, trackid ASC, timestamp ASC") unordered_points = Tracepoint.bbox(bbox).joins(:trace).where(:gpx_files => { :visibility => %w[public private] }).order("gps_points.latitude", "gps_points.longitude", "gps_points.timestamp") - points = ordered_points.union_all(unordered_points).offset(offset).limit(Settings.tracepoints_per_page) + points = ordered_points.union_all(unordered_points).offset(offset).limit(Settings.tracepoints_per_page).preload(:trace) doc = XML::Document.new doc.encoding = XML::Encoding::UTF_8