enh(query): add spread function distributed splitting
This commit is contained in:
parent
ec5da952f9
commit
ad895c243d
|
@ -125,6 +125,8 @@ typedef enum EFunctionType {
|
||||||
// distributed splitting functions
|
// distributed splitting functions
|
||||||
FUNCTION_TYPE_APERCENTILE_PARTIAL,
|
FUNCTION_TYPE_APERCENTILE_PARTIAL,
|
||||||
FUNCTION_TYPE_APERCENTILE_MERGE,
|
FUNCTION_TYPE_APERCENTILE_MERGE,
|
||||||
|
FUNCTION_TYPE_SPREAD_PARTIAL,
|
||||||
|
FUNCTION_TYPE_SPREAD_MERGE,
|
||||||
|
|
||||||
// user defined funcion
|
// user defined funcion
|
||||||
FUNCTION_TYPE_UDF = 10000
|
FUNCTION_TYPE_UDF = 10000
|
||||||
|
|
|
@ -1279,6 +1279,28 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
|
||||||
.processFunc = spreadFunction,
|
.processFunc = spreadFunction,
|
||||||
.finalizeFunc = spreadFinalize
|
.finalizeFunc = spreadFinalize
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "_spread_partial",
|
||||||
|
.type = FUNCTION_TYPE_SPREAD_PARTIAL,
|
||||||
|
.classification = FUNC_MGT_AGG_FUNC,
|
||||||
|
.translateFunc = translateSpread,
|
||||||
|
.dataRequiredFunc = statisDataRequired,
|
||||||
|
.getEnvFunc = getSpreadFuncEnv,
|
||||||
|
.initFunc = spreadFunctionSetup,
|
||||||
|
.processFunc = spreadFunction,
|
||||||
|
.finalizeFunc = spreadFinalize
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "_spread_merge",
|
||||||
|
.type = FUNCTION_TYPE_SPREAD_MERGE,
|
||||||
|
.classification = FUNC_MGT_AGG_FUNC,
|
||||||
|
.translateFunc = translateSpread,
|
||||||
|
.dataRequiredFunc = statisDataRequired,
|
||||||
|
.getEnvFunc = getSpreadFuncEnv,
|
||||||
|
.initFunc = spreadFunctionSetup,
|
||||||
|
.processFunc = spreadFunction,
|
||||||
|
.finalizeFunc = spreadFinalize
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = "elapsed",
|
.name = "elapsed",
|
||||||
.type = FUNCTION_TYPE_ELAPSED,
|
.type = FUNCTION_TYPE_ELAPSED,
|
||||||
|
|
Loading…
Reference in New Issue