Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/3574#discussion_r108685193
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/runtime/aggregate/AggregateUtil.scala
---
@@ -730,6 +736,41 @@ object AggregateUtil {
(aggFunction, accumulatorRowType, aggResultRowType)
}
+ /**
+ * Function for building the processing logic for aggregating data in
row bounded windows
+ *
+ * @param namedAggregates List of calls to aggregate functions and
their output field names
+ * @param inputType Input row type
+ * @param rowType Type info of row
+ * @param precedingOffset The window lower boundary expressed in
number of rows
+ * @return [[org.apache.flink.streaming.api.functions.ProcessFunction]]
+ */
+ private[flink] def createBoundedProcessingOverProcessFunction(
+ namedAggregates: Seq[CalcitePair[AggregateCall, String]],
+ inputType: RelDataType,
+ rowType: RowTypeInfo,
+ precedingOffset: Int): ProcessFunction[Row, Row] = {
+
+ val (aggFields, aggregates) =
+ transformToAggregateFunctions(
+ namedAggregates.map(_.getKey),
+ inputType,
+ needRetraction = true)
+
+ val aggregationStateType: RowTypeInfo =
+ createDataSetAggregateBufferDataType(Array(), aggregates, inputType)
--- End diff --
can be replaced by `createAccumulatorRowType(aggregates)`
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---