Class: Veritas::Optimizer::Algebra::Rename::RenameOperandAndEmptyAliases
- Inherits:
-
RenameOperand
- Object
- Veritas::Optimizer
- Relation::Operation::Unary
- Veritas::Optimizer::Algebra::Rename
- RenameOperand
- Veritas::Optimizer::Algebra::Rename::RenameOperandAndEmptyAliases
- Defined in:
- lib/veritas/optimizer/algebra/rename.rb
Overview
Optimize when the operand is a Rename with aliases that cancel out
Constant Summary
Constants inherited from Veritas::Optimizer
Instance Attribute Summary
Attributes inherited from Veritas::Optimizer::Algebra::Rename
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 a Rename with aliases that cancel out.
-
#optimize ⇒ Relation
private
A Rename wrapping a Rename with aliases that cancel out is a noop.
Methods inherited from Veritas::Optimizer::Algebra::Rename
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::Rename
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 a Rename with aliases that cancel out
82 83 84 |
# File 'lib/veritas/optimizer/algebra/rename.rb', line 82 def optimizable? super && aliases.empty? end |
#optimize ⇒ Relation
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.
A Rename wrapping a Rename with aliases that cancel out is a noop
91 92 93 |
# File 'lib/veritas/optimizer/algebra/rename.rb', line 91 def optimize operand.operand end |