lib/bmg/algebra.rb in bmg-0.17.2 vs lib/bmg/algebra.rb in bmg-0.17.3

- old
+ new

@@ -78,9 +78,22 @@ def _joined_with(type, right, on) Operator::Join.new(type, right, self, on) end protected :_joined_with + def left_join(right, on = [], default_right_tuple = {}) + drt = default_right_tuple + _left_join self.type.left_join(right.type, on, drt), right, on, drt + end + + def _left_join(type, right, on, default_right_tuple) + Operator::Join.new(type, self, right, on, { + variant: :left, + default_right_tuple: default_right_tuple + }) + end + protected :_left_join + def matching(right, on = []) _matching self.type.matching(right.type, on), right, on end def _matching(type, right, on)