use of org.apache.flink.table.planner.plan.nodes.logical.FlinkLogicalLegacySink in project flink by apache.
the class RelTimeIndicatorConverter method visitSink.
private RelNode visitSink(SingleRel sink) {
Preconditions.checkArgument(sink instanceof FlinkLogicalLegacySink || sink instanceof FlinkLogicalSink);
RelNode newInput = sink.getInput().accept(this);
newInput = materializeProcTime(newInput);
return sink.copy(sink.getTraitSet(), Collections.singletonList(newInput));
}
use of org.apache.flink.table.planner.plan.nodes.logical.FlinkLogicalLegacySink in project flink by apache.
the class RelTimeIndicatorConverter method convert.
public static RelNode convert(RelNode rootRel, RexBuilder rexBuilder, boolean needFinalTimeIndicatorConversion) {
RelTimeIndicatorConverter converter = new RelTimeIndicatorConverter(rexBuilder);
RelNode convertedRoot = rootRel.accept(converter);
// FlinkLogicalLegacySink and FlinkLogicalSink are already converted
if (rootRel instanceof FlinkLogicalLegacySink || rootRel instanceof FlinkLogicalSink || !needFinalTimeIndicatorConversion) {
return convertedRoot;
}
// materialize remaining procTime indicators
return converter.materializeProcTime(convertedRoot);
}
Aggregations