Let PostgreSQL remove unneeded join on crash_group if possible, join bug_link on crash_report.crash_group_id
--- a/lib/CrashTest/Plugin/Storage/Sql/Model/CrashReport.pm Sat Nov 26 15:48:43 2016 +0100
+++ b/lib/CrashTest/Plugin/Storage/Sql/Model/CrashReport.pm Sat Nov 26 18:33:57 2016 +0100
@@ -86,7 +86,7 @@
SELECT crash_reports.*,
product.distributor AS p_distributor, product.name AS p_name, product.version AS p_version, product.release_channel AS p_release_channel,
crash_user.os AS u_os, crash_user.cpu_arch AS u_cpu_arch, crash_user.cpu_count AS u_cpu_count, crash_user.extra_info AS u_extra_info,
- (SELECT json_agg(to_json(bug_links)) FROM bug_links WHERE bug_links.crash_group_id = crash_group.id) AS bug_links,
+ (SELECT json_agg(to_json(bug_links)) FROM bug_links WHERE bug_links.crash_group_id = crash_reports.crash_group_id) AS bug_links,
$extra_columns
FROM crash_reports
LEFT JOIN crash_users AS crash_user ON crash_reports.crash_user_id = crash_user.id