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)