Class: Axiom::Optimizer::Algebra::Join::EqualHeaders
- Inherits:
-
Axiom::Optimizer::Algebra::Join
- Object
- Axiom::Optimizer
- Relation::Operation::Binary
- Relation::Operation::Combination
- Axiom::Optimizer::Algebra::Join
- Axiom::Optimizer::Algebra::Join::EqualHeaders
- Defined in:
- lib/axiom/optimizer/algebra/join.rb
Overview
Optimize when operands’ headers are equal
Constant Summary
Constants inherited from Axiom::Optimizer::Algebra::Join
Constants inherited from Axiom::Optimizer
Instance Attribute Summary
Attributes included from Function::Binary
Attributes inherited from Axiom::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operands’ headers are equal.
-
#optimize ⇒ Algebra::Intersection
private
A Join with equal headers is an Intersection.
Methods included from Function::Binary
Methods inherited from Axiom::Optimizer
Instance Method Details
#optimizable? ⇒ Boolean
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.
Test if the operands’ headers are equal
44 45 46 |
# File 'lib/axiom/optimizer/algebra/join.rb', line 44 def optimizable? left.header.eql?(right.header) end |
#optimize ⇒ Algebra::Intersection
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.
A Join with equal headers is an Intersection
53 54 55 |
# File 'lib/axiom/optimizer/algebra/join.rb', line 53 def optimize left.intersect(right) end |