|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.AbstractCalcRexAggImplementor
net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.SumEmptyIsZeroCalcRexImplementor
private static class CalcRexImplementorTableImpl.SumEmptyIsZeroCalcRexImplementor
Implementation of the SUM0 aggregate function, SqlStdOperatorTable.sumEmptyIsZeroOperator.
| Constructor Summary | |
|---|---|
private |
CalcRexImplementorTableImpl.SumEmptyIsZeroCalcRexImplementor()
|
| Method Summary | |
|---|---|
void |
implementAdd(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
Generates instructions to add a new value to an aggregation. |
void |
implementDrop(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
Generates instructions to implement this call, and returns the register which holds the result. |
void |
implementInitAdd(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
Generates instructions to initialize and add a new value to an aggregation. |
void |
implementInitialize(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
Generates instructions to initialize an accumulator for a call to this aggregate function, and returns the register which holds the accumulator. |
| Methods inherited from class net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.AbstractCalcRexAggImplementor |
|---|
canImplement |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
private CalcRexImplementorTableImpl.SumEmptyIsZeroCalcRexImplementor()
| Method Detail |
|---|
public void implementInitialize(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
CalcRexAggImplementorFor example, for SUM(x), this method generates O
s8; V 0; T; MOVE O0, C0; and returns the O0 register.
call - The call to the aggregate function to be implementedaccumulatorRegister - The accumulator register to be populatedtranslator - Calculator code generator
public void implementInitAdd(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
CalcRexAggImplementor
implementInitAdd in interface CalcRexAggImplementorimplementInitAdd in class CalcRexImplementorTableImpl.AbstractCalcRexAggImplementorcall - The call to the aggregate function to be implementedaccumulatorRegister - The accumulator registertranslator - Calculator code generator
public void implementAdd(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
CalcRexAggImplementorFor example, for SUM(x), this method generates I
s8; O s8; T; ADD O0, I0;.
call - The call to the aggregate function to be implementedaccumulatorRegister - The accumulator registertranslator - Calculator code generator
public void implementDrop(RexCall call,
CalcReg accumulatorRegister,
RexToCalcTranslator translator)
CalcRexAggImplementorFor example, for SUM(x), this method generates I
s8; O s8; T; SUB O0, I0;
call - The call to the aggregate function to be implemented.accumulatorRegister - The accumulator registertranslator - Calculator code generator
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||