|
|||||||||
| 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.HistogramAggRexImplementor
private static class CalcRexImplementorTableImpl.HistogramAggRexImplementor
Implementation of the $HISTOGRAM aggregate function (SqlStdOperatorTable.histogramAggFunction, which helps implement MIN,
MAX, FIRST_VALUE, LAST_VALUE in a windowed aggregation scenario.
CalcRexImplementorTableImpl.HistogramResultRexImplementor| Constructor Summary | |
|---|---|
CalcRexImplementorTableImpl.HistogramAggRexImplementor()
|
|
| 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 |
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, implementInitAdd |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CalcRexImplementorTableImpl.HistogramAggRexImplementor()
| 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 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 | ||||||||