Class: Veritas::Optimizer::Relation::Operation::Binary::MaterializedOperands
- Inherits:
-
Veritas::Optimizer::Relation::Operation::Binary
- Object
- Veritas::Optimizer
- Veritas::Optimizer::Relation::Operation::Binary
- Veritas::Optimizer::Relation::Operation::Binary::MaterializedOperands
- Defined in:
- lib/veritas/optimizer/relation/operation/binary.rb
Overview
Optimize when the operands are Materialized
Constant Summary
Constants inherited from Veritas::Optimizer
Instance Attribute Summary
Attributes included from Function::Binary
Attributes inherited from Veritas::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operands are materialized.
-
#optimize ⇒ Relation::Materialized
private
Return the materialized operation.
Methods included from Function::Binary
Methods inherited from Veritas::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 are materialized
110 111 112 113 |
# File 'lib/veritas/optimizer/relation/operation/binary.rb', line 110 def optimizable? left.kind_of?(Veritas::Relation::Materialized) && right.kind_of?(Veritas::Relation::Materialized) end |
#optimize ⇒ Relation::Materialized
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.
Return the materialized operation
120 121 122 |
# File 'lib/veritas/optimizer/relation/operation/binary.rb', line 120 def optimize operation.materialize end |