class Axiom::Optimizer::Algebra::Join

Abstract base class representing Join optimizations

Constants

CONTRADICTION

Private Instance Methods

join_key() click to toggle source

Return the key to join the operations with

@return [Header]

@todo find a minimal key from the header

@api private

# File lib/axiom/optimizer/algebra/join.rb, line 21
def join_key
  operation.join_header
end
materialized_predicate() click to toggle source

Return a predicate that matches every tuple in the materialized operand

@return [Function]

@api private

# File lib/axiom/optimizer/algebra/join.rb, line 30
def materialized_predicate
  matching_projection.reduce(CONTRADICTION) do |accumulator, element|
    accumulator.or(element.predicate)
  end.optimize
end