Class: Veritas::Optimizer::Relation::Operation::Limit::EqualLimitOperand
- Inherits:
-
Veritas::Optimizer::Relation::Operation::Limit
- Object
- Veritas::Optimizer
- Unary
- Veritas::Optimizer::Relation::Operation::Limit
- Veritas::Optimizer::Relation::Operation::Limit::EqualLimitOperand
- Defined in:
- lib/veritas/optimizer/relation/operation/limit.rb
Overview
Optimize when the operand is a Limit and the limits are equal
Constant Summary
Constants inherited from Veritas::Optimizer
Instance Attribute Summary
Attributes inherited from Unary
Attributes included from Function::Unary
Attributes inherited from Veritas::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operand is a Limit and the limits are equal.
-
#optimize ⇒ Projection
private
Flatten equal Limit relations into a single relation.
Methods inherited from Unary
Methods included from Function::Unary
Methods inherited from Veritas::Optimizer
Constructor Details
This class inherits a constructor from Veritas::Optimizer::Relation::Operation::Unary
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 operand is a Limit and the limits are equal
54 55 56 |
# File 'lib/veritas/optimizer/relation/operation/limit.rb', line 54 def optimizable? operand.kind_of?(operation.class) && equal_limit? end |
#optimize ⇒ Projection
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.
Flatten equal Limit relations into a single relation
63 64 65 |
# File 'lib/veritas/optimizer/relation/operation/limit.rb', line 63 def optimize operand end |