From: Mike Rylander <mrylander@gmail.com>
Date: Wed, 14 Aug 2013 14:25:14 +0000 (-0400)
Subject: Correctly mark nested INNER joins as such
X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=80e3f6f63a6e8ce422e6b2e1f7c981a7c2e5ff49;p=evergreen%2Fpines.git

Correctly mark nested INNER joins as such

We've been adopting containing the JOINs flavor, and then
attempting to use IS NOT NULL to restrict NULL-ness
in the WHERE clause.  This is almost right, but not quite,
and was done in an attempt to match behavior with the
expectations of users that are not SQL experts.  However,
right is better than "looks right most of the time", so
we use the proper join type now.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Boyer <jboyer1@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
---

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Reporter/SQLBuilder.pm b/Open-ILS/src/perlmods/lib/OpenILS/Reporter/SQLBuilder.pm
index 67c8af6ca9..940972a33e 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Reporter/SQLBuilder.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Reporter/SQLBuilder.pm
@@ -1213,7 +1213,7 @@ sub toSQL {
     my $_nullable_rel = $dir && $dir eq 'l' ? '_right_rel' : '_left_rel';
     $self->{$_nullable_rel}->{_nullable} = $dir;
 
-    my $j = $dir ? ( $dir eq 'l' ? 'LEFT OUTER' : ( $dir eq 'r' ? 'RIGHT OUTER' : 'FULL OUTER' ) ) : 'INNER';
+    my $j = 'INNER';
 
     my $sql = "\n\t$j ". $self->SUPER::toSQL;