net.sf.saffron.rel
Class SwapJoinRule.VariableReplacer

java.lang.Object
  |
  +--net.sf.saffron.rel.SwapJoinRule.VariableReplacer
Enclosing class:
SwapJoinRule

private static class SwapJoinRule.VariableReplacer
extends Object

Walks over an expression, replacing references to fields of the left and right inputs.

If the field index is less than leftFieldCount, it must be from the left, and so has rightFieldCount added to it; if the field index is greater than leftFieldCount, it must be from the right, so we subtract leftFieldCount from it.


Field Summary
private  SaffronField[] leftFields
           
private  RexBuilder rexBuilder
           
private  SaffronField[] rightFields
           
 
Constructor Summary
(package private) SwapJoinRule.VariableReplacer(RexBuilder rexBuilder, SaffronType leftType, SaffronType rightType)
           
 
Method Summary
 RexNode go(RexNode rex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rexBuilder

private final RexBuilder rexBuilder

leftFields

private final SaffronField[] leftFields

rightFields

private final SaffronField[] rightFields
Constructor Detail

SwapJoinRule.VariableReplacer

SwapJoinRule.VariableReplacer(RexBuilder rexBuilder,
                              SaffronType leftType,
                              SaffronType rightType)
Method Detail

go

public RexNode go(RexNode rex)

SourceForge.net_Logo