Class: Veritas::Optimizer::Function::Connective::Conjunction::OptimizableToExclusion
- Inherits:
-
Veritas::Optimizer::Function::Connective::Conjunction
- Object
- Veritas::Optimizer
- Binary
- Veritas::Optimizer::Function::Connective::Conjunction
- Veritas::Optimizer::Function::Connective::Conjunction::OptimizableToExclusion
- Defined in:
- lib/veritas/optimizer/function/connective/conjunction.rb
Overview
Optimize when the operands are inequality predicates for the same attribute
Constant Summary
Constants inherited from Veritas::Optimizer
Instance Attribute Summary
Attributes included from Binary
Attributes inherited from Veritas::Optimizer
Instance Method Summary collapse
-
#optimizable? ⇒ Boolean
private
Test if the operands are inequality predicates for the same attribute.
-
#optimize ⇒ Exclusion
private
Return an Exclusion for an attribute against a set of values.
Methods included from Binary
Methods inherited from Veritas::Optimizer
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 operands are inequality predicates for the same attribute
65 66 67 |
# File 'lib/veritas/optimizer/function/connective/conjunction.rb', line 65 def optimizable? inequality_with_same_attributes? end |
#optimize ⇒ Exclusion
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 an Exclusion for an attribute against a set of values
74 75 76 |
# File 'lib/veritas/optimizer/function/connective/conjunction.rb', line 74 def optimize left.left.exclude(merged_right_enumerables).optimize end |