Class: Axiom::Optimizer::Relation::Operation::Sorted::OneLimitOperand
- Inherits:
-
Axiom::Optimizer::Relation::Operation::Sorted
- Object
- Axiom::Optimizer
- Unary
- Axiom::Optimizer::Relation::Operation::Sorted
- Axiom::Optimizer::Relation::Operation::Sorted::OneLimitOperand
- Defined in:
- lib/axiom/optimizer/relation/operation/sorted.rb
Overview
Optimize when the operand is a Limit with a limit of 1
Constant Summary
Constants inherited from Axiom::Optimizer
Instance Attribute Summary
Attributes inherited from Unary
Attributes included from Function::Unary
Attributes inherited from Axiom::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operand is an Limit with a limit of 1.
-
#optimize ⇒ Limit
private
An Sorted of a Limit with a limit of 1 is a noop.
Methods inherited from Unary
Methods included from Function::Unary
Methods inherited from Axiom::Optimizer
Constructor Details
This class inherits a constructor from Axiom::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 Limit with a limit of 1
42 43 44 45 |
# File 'lib/axiom/optimizer/relation/operation/sorted.rb', line 42 def optimizable? operand.kind_of?(Axiom::Relation::Operation::Limit) && operand.limit == 1 end |
#optimize ⇒ Limit
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.
An Sorted of a Limit with a limit of 1 is a noop
52 53 54 |
# File 'lib/axiom/optimizer/relation/operation/sorted.rb', line 52 def optimize operand end |