Class: Veritas::Optimizer::Relation::Operation::Combination

Inherits:
Binary show all
Defined in:
lib/veritas/optimizer/relation/operation/combination.rb

Overview

Abstract base class representing combinations of relations

Direct Known Subclasses

Algebra::Join, Algebra::Product, EmptyLeft, EmptyRight

Defined Under Namespace

Classes: EmptyLeft, EmptyRight

Constant Summary

Constants inherited from Veritas::Optimizer

Noop, VERSION

Instance Attribute Summary

Attributes included from Function::Binary

#left, #right

Attributes inherited from Veritas::Optimizer

#operation

Instance Method Summary collapse

Methods included from Function::Binary

#initialize

Methods inherited from Veritas::Optimizer

chain, #initialize, #optimizable?

Instance Method Details

#optimizeRelation::Empty

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.

Any relation combined with an empty relation is an empty relation

Returns:

  • (Relation::Empty)


16
17
18
19
# File 'lib/veritas/optimizer/relation/operation/combination.rb', line 16

def optimize
  operation = self.operation
  Veritas::Relation::Empty.new(operation.header, operation)
end