Class: Veritas::Optimizer::Algebra::Restriction::UnoptimizedOperand
- Inherits:
-
Veritas::Optimizer::Algebra::Restriction
- Object
- Veritas::Optimizer
- Relation::Operation::Unary
- Veritas::Optimizer::Algebra::Restriction
- Veritas::Optimizer::Algebra::Restriction::UnoptimizedOperand
- Includes:
- Function::Unary::UnoptimizedOperand
- Defined in:
- lib/veritas/optimizer/algebra/restriction.rb
Overview
Optimize when operand is optimizable
Constant Summary
Constants inherited from Veritas::Optimizer
Instance Attribute Summary
Attributes inherited from Veritas::Optimizer::Algebra::Restriction
Attributes inherited from Relation::Operation::Unary
Attributes included from Function::Unary
Attributes inherited from Veritas::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operand is unoptimized.
-
#optimize ⇒ Rename
private
Return a Restriction with an optimized operand.
Methods inherited from Veritas::Optimizer::Algebra::Restriction
Methods inherited from Relation::Operation::Unary
Methods included from Function::Unary
Methods inherited from Veritas::Optimizer
Constructor Details
This class inherits a constructor from Veritas::Optimizer::Algebra::Restriction
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 unoptimized
344 345 346 |
# File 'lib/veritas/optimizer/algebra/restriction.rb', line 344 def optimizable? super || ! predicate.equal?(operation.predicate) end |
#optimize ⇒ Rename
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 a Restriction with an optimized operand
353 354 355 |
# File 'lib/veritas/optimizer/algebra/restriction.rb', line 353 def optimize wrap_operand(operand) end |