Keep standard INNER joins above possible OUTERs user/miker/reorder-standard-joins
authorMike Rylander <mrylander@gmail.com>
Thu, 12 Sep 2013 17:26:21 +0000 (13:26 -0400)
committerMike Rylander <mrylander@gmail.com>
Thu, 12 Sep 2013 17:26:21 +0000 (13:26 -0400)
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 <mrylander@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm

index 544dba9..c1457da 100644 (file)
@@ -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