class Axiom::Optimizer::Algebra::Summarization::UnoptimizedOperand

Optimize when operand is optimizable

Public Instance Methods

optimizable?() click to toggle source

Test if the operand is unoptimized

@return [Boolean]

@api private

# File lib/axiom/optimizer/algebra/summarization.rb, line 152
def optimizable?
  super                      ||
  summarize_per_optimizable? ||
  summarizers_optimizable?
end
optimize() click to toggle source

Return a Summarization with an optimized operand

@return [Rename]

@api private

# File lib/axiom/optimizer/algebra/summarization.rb, line 163
def optimize
  wrap_operand(operand)
end

Private Instance Methods

summarize_per_optimizable?() click to toggle source

Test if the summarize_per relation is optimizable

@return [Boolean]

@api private

# File lib/axiom/optimizer/algebra/summarization.rb, line 174
def summarize_per_optimizable?
  !summarize_per.equal?(operation.summarize_per)
end
summarizers_optimizable?() click to toggle source

Test if the summarizers are optimizable

@return [Boolean]

@api private

# File lib/axiom/optimizer/algebra/summarization.rb, line 183
def summarizers_optimizable?
  !summarizers.eql?(operation.summarizers)
end