Class: Veritas::Optimizer::Algebra::Summarization

Inherits:
Relation::Operation::Unary show all
Defined in:
lib/veritas/optimizer/algebra/summarization.rb

Overview

Abstract base class representing Summarization optimizations

Defined Under Namespace

Classes: EmptyOperand, EmptySummarizePer, OrderOperand, UnoptimizedOperand

Constant Summary

Constants inherited from Veritas::Optimizer

Noop, VERSION

Instance Attribute Summary collapse

Attributes inherited from Relation::Operation::Unary

#header

Attributes included from Function::Unary

#operand

Attributes inherited from Veritas::Optimizer

#operation

Instance Method Summary collapse

Methods inherited from Veritas::Optimizer

chain, #optimizable?, #optimize

Constructor Details

#initializeundefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Initialize a Summarization optimizer



29
30
31
32
33
# File 'lib/veritas/optimizer/algebra/summarization.rb', line 29

def initialize(*)
  super
  @summarize_per = optimize_summarize_per
  @summarizers   = optimize_summarizers
end

Instance Attribute Details

#summarize_perRelation (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

The optimized summarize_per relation

Returns:



15
16
17
# File 'lib/veritas/optimizer/algebra/summarization.rb', line 15

def summarize_per
  @summarize_per
end

#summarizersHash{Attribute => Function} (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

The optimized summarizers

Returns:



22
23
24
# File 'lib/veritas/optimizer/algebra/summarization.rb', line 22

def summarizers
  @summarizers
end