Class: Veritas::Optimizer::Algebra::Restriction
- Inherits:
-
Relation::Operation::Unary
- Object
- Veritas::Optimizer
- Relation::Operation::Unary
- Veritas::Optimizer::Algebra::Restriction
- Defined in:
- lib/veritas/optimizer/algebra/restriction.rb
Overview
Abstract base class representing Restriction optimizations
Direct Known Subclasses
CombinationOperand, Contradiction, OrderOperand, RestrictionOperand, SetOperand, Tautology, UnoptimizedOperand
Defined Under Namespace
Classes: CombinationOperand, Contradiction, JoinOperand, OrderOperand, ProductOperand, RestrictionOperand, SetOperand, Tautology, UnoptimizedOperand
Constant Summary
Constants inherited from Veritas::Optimizer
Instance Attribute Summary collapse
-
#predicate ⇒ Function
readonly
private
The optimized predicate.
Attributes inherited from Relation::Operation::Unary
Attributes included from Function::Unary
Attributes inherited from Veritas::Optimizer
Instance Method Summary collapse
-
#initialize ⇒ undefined
constructor
private
Initialize an Restriction optimizer.
Methods inherited from Veritas::Optimizer
chain, #optimizable?, #optimize
Constructor Details
#initialize ⇒ undefined
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.
Initialize an Restriction optimizer
22 23 24 25 |
# File 'lib/veritas/optimizer/algebra/restriction.rb', line 22 def initialize(*) super @predicate = Function.optimize_operand(operation.predicate) end |
Instance Attribute Details
#predicate ⇒ Function (readonly)
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.
The optimized predicate
15 16 17 |
# File 'lib/veritas/optimizer/algebra/restriction.rb', line 15 def predicate @predicate end |