Class: Veritas::Optimizer::Relation::Operation::Unary::UnchangedHeader

Inherits:
Veritas::Optimizer::Relation::Operation::Unary show all
Defined in:
lib/veritas/optimizer/relation/operation/unary.rb

Overview

Optimize when the header is not changed

Constant Summary

Constants inherited from Veritas::Optimizer

Noop, VERSION

Instance Attribute Summary

Attributes inherited from Veritas::Optimizer::Relation::Operation::Unary

#header

Attributes included from Function::Unary

#operand

Attributes inherited from Veritas::Optimizer

#operation

Instance Method Summary collapse

Methods inherited from Veritas::Optimizer::Relation::Operation::Unary

#initialize

Methods included from Function::Unary

#initialize

Methods inherited from Veritas::Optimizer

chain, #initialize

Constructor Details

This class inherits a constructor from Veritas::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 operation header are the same as the operand’s

Returns:

  • (Boolean)


60
61
62
# File 'lib/veritas/optimizer/relation/operation/unary.rb', line 60

def optimizable?
  header == operand.header
end

#optimizeRelation

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 Projection, Rename or Extension with an unchanged header is a noop

Returns:



69
70
71
# File 'lib/veritas/optimizer/relation/operation/unary.rb', line 69

def optimize
  operand
end