From: Mike Rylander Date: Thu, 12 Sep 2013 17:26:21 +0000 (-0400) Subject: Keep standard INNER joins above possible OUTERs X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fmiker%2Freorder-standard-joins;p=working%2FEvergreen.git Keep standard INNER joins above possible OUTERs We always join metabib.record_attr, and we always use an INNER join to the core table, so keep that join first. Likewise with the join to biblio.record_entry. Dynamic joins may be OUTER, though, and while join reordering in Postgres is smart, let's not give it the chance to fail. Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm index 544dba9980..c1457daa0f 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm @@ -802,9 +802,9 @@ SELECT $key AS id, $rank AS rank, FIRST(mrd.attrs->'date1') AS tie_break FROM metabib.metarecord_source_map m - $$flat_plan{from} $mra_join $bre_join + $$flat_plan{from} WHERE 1=1 $flat_where GROUP BY 1