net.sf.farrago.fennel.calc
Class CalcRexImplementorTableImpl.CaseImplementor

java.lang.Object
  extended by net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.AbstractCalcRexImplementor
      extended by net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.CaseImplementor
All Implemented Interfaces:
CalcRexImplementor
Enclosing class:
CalcRexImplementorTableImpl

private static class CalcRexImplementorTableImpl.CaseImplementor
extends CalcRexImplementorTableImpl.AbstractCalcRexImplementor

Implementor for CASE operator.


Constructor Summary
private CalcRexImplementorTableImpl.CaseImplementor()
           
 
Method Summary
 CalcReg implement(RexCall call, RexToCalcTranslator translator)
          Generates instructions to implement this call, and returns the register which holds the result.
private  void implementCaseValue(RexToCalcTranslator translator, CalcReg resultOfCall, RelDataType resultDataType, RexNode value)
           
 
Methods inherited from class net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.AbstractCalcRexImplementor
canImplement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CalcRexImplementorTableImpl.CaseImplementor

private CalcRexImplementorTableImpl.CaseImplementor()
Method Detail

implement

public CalcReg implement(RexCall call,
                         RexToCalcTranslator translator)
Description copied from interface: CalcRexImplementor
Generates instructions to implement this call, and returns the register which holds the result.


implementCaseValue

private void implementCaseValue(RexToCalcTranslator translator,
                                CalcReg resultOfCall,
                                RelDataType resultDataType,
                                RexNode value)