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=d4ac339171df250bd1e537b9195fd28fa6f346ed;p=Evergreen.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 Signed-off-by: Ben Shum --- 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 289d24b958..7a02d99f28 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 @@ -800,9 +800,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