Class: Veritas::Optimizer::Relation::Operation::Offset::OffsetOperand
- Inherits:
-
Veritas::Optimizer::Relation::Operation::Offset
- Object
- Veritas::Optimizer
- Unary
- Veritas::Optimizer::Relation::Operation::Offset
- Veritas::Optimizer::Relation::Operation::Offset::OffsetOperand
- Defined in:
- lib/veritas/optimizer/relation/operation/offset.rb
Overview
Optimize when the operand is an Offset
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 an Offset.
-
#optimize ⇒ Boolean
private
Flatten Offset operations using the sum of the offsets.
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 an Offset
53 54 55 |
# File 'lib/veritas/optimizer/relation/operation/offset.rb', line 53 def optimizable? operand.kind_of?(operation.class) end |
#optimize ⇒ 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.
Flatten Offset operations using the sum of the offsets
62 63 64 |
# File 'lib/veritas/optimizer/relation/operation/offset.rb', line 62 def optimize operand.operand.drop(sum_offset) end |