Class JsonArrayAggFunction
java.lang.Object
org.apache.flink.table.functions.UserDefinedFunction
org.apache.flink.table.functions.ImperativeAggregateFunction<T,ACC>
org.apache.flink.table.functions.AggregateFunction<T,ACC>
org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction<String,JsonArrayAggFunction.Accumulator>
org.apache.flink.table.runtime.functions.aggregate.JsonArrayAggFunction
- All Implemented Interfaces:
Serializable,org.apache.flink.table.functions.FunctionDefinition
@Internal
public class JsonArrayAggFunction
extends BuiltInAggregateFunction<String,JsonArrayAggFunction.Accumulator>
Implementation for
BuiltInFunctionDefinitions.JSON_ARRAYAGG_ABSENT_ON_NULL / BuiltInFunctionDefinitions.JSON_ARRAYAGG_NULL_ON_NULL.
Note that this function only ever receives strings to accumulate because
WrapJsonAggFunctionArgumentsRule wraps arguments into BuiltInFunctionDefinitions.JSON_STRING.
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionJsonArrayAggFunction(org.apache.flink.table.types.logical.LogicalType[] argumentTypes, boolean skipNulls) -
Method Summary
Modifier and TypeMethodDescriptionvoidaccumulate(JsonArrayAggFunction.Accumulator acc, org.apache.flink.table.data.StringData itemData) org.apache.flink.table.types.DataTypeList<org.apache.flink.table.types.DataType>org.apache.flink.table.types.DataTypevoidvoidretract(JsonArrayAggFunction.Accumulator acc, org.apache.flink.table.data.StringData itemData) Methods inherited from class org.apache.flink.table.runtime.functions.aggregate.BuiltInAggregateFunction
getRequirements, getTypeInference, isDeterministicMethods inherited from class org.apache.flink.table.functions.AggregateFunction
getKindMethods inherited from class org.apache.flink.table.functions.ImperativeAggregateFunction
getAccumulatorType, getResultTypeMethods inherited from class org.apache.flink.table.functions.UserDefinedFunction
close, functionIdentifier, open, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.flink.table.functions.FunctionDefinition
supportsConstantFolding
-
Constructor Details
-
JsonArrayAggFunction
public JsonArrayAggFunction(org.apache.flink.table.types.logical.LogicalType[] argumentTypes, boolean skipNulls)
-
-
Method Details
-
getArgumentDataTypes
- Overrides:
getArgumentDataTypesin classBuiltInAggregateFunction<String,JsonArrayAggFunction.Accumulator>
-
getOutputDataType
public org.apache.flink.table.types.DataType getOutputDataType()- Overrides:
getOutputDataTypein classBuiltInAggregateFunction<String,JsonArrayAggFunction.Accumulator>
-
getAccumulatorDataType
public org.apache.flink.table.types.DataType getAccumulatorDataType()- Overrides:
getAccumulatorDataTypein classBuiltInAggregateFunction<String,JsonArrayAggFunction.Accumulator>
-
createAccumulator
- Specified by:
createAccumulatorin classorg.apache.flink.table.functions.ImperativeAggregateFunction<String,JsonArrayAggFunction.Accumulator>
-
resetAccumulator
-
accumulate
public void accumulate(JsonArrayAggFunction.Accumulator acc, org.apache.flink.table.data.StringData itemData) throws Exception - Throws:
Exception
-
retract
public void retract(JsonArrayAggFunction.Accumulator acc, org.apache.flink.table.data.StringData itemData) throws Exception - Throws:
Exception
-
getValue
- Specified by:
getValuein classorg.apache.flink.table.functions.AggregateFunction<String,JsonArrayAggFunction.Accumulator>
-