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

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

private static class CalcRexImplementorTableImpl.CastImplementor
extends CalcRexImplementorTableImpl.AbstractCalcRexImplementor

Implementor for CAST operator.


Field Summary
private  Map<Pair<SqlTypeName,SqlTypeName>,CalcRexImplementor> doubleKeyMap
           
(package private) static CalcRexImplementorTableImpl.CastImplementor instance
           
 
Constructor Summary
private CalcRexImplementorTableImpl.CastImplementor()
           
 
Method Summary
 CalcReg implement(RexCall call, RexToCalcTranslator translator)
          Generates instructions to implement this call, and returns the register which holds the result.
private  void put(SqlTypeName t1, SqlTypeName t2, CalcRexImplementor value)
           
private  void putMM(SqlTypeName[] t1s, SqlTypeName[] t2s, CalcRexImplementor value)
           
private  void putMS(SqlTypeName[] t1s, SqlTypeName t2, CalcRexImplementor value)
           
private  void putSM(SqlTypeName t1, SqlTypeName[] t2s, CalcRexImplementor 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
 

Field Detail

instance

static final CalcRexImplementorTableImpl.CastImplementor instance

doubleKeyMap

private final Map<Pair<SqlTypeName,SqlTypeName>,CalcRexImplementor> doubleKeyMap
Constructor Detail

CalcRexImplementorTableImpl.CastImplementor

private CalcRexImplementorTableImpl.CastImplementor()
Method Detail

putMM

private void putMM(SqlTypeName[] t1s,
                   SqlTypeName[] t2s,
                   CalcRexImplementor value)

putMS

private void putMS(SqlTypeName[] t1s,
                   SqlTypeName t2,
                   CalcRexImplementor value)

putSM

private void putSM(SqlTypeName t1,
                   SqlTypeName[] t2s,
                   CalcRexImplementor value)

put

private void put(SqlTypeName t1,
                 SqlTypeName t2,
                 CalcRexImplementor value)

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.