twalthr commented on code in PR #26076: URL: https://github.com/apache/flink/pull/26076#discussion_r1944571585
########## flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/physical/stream/StreamPhysicalProcessTableFunction.java: ########## @@ -163,40 +167,31 @@ protected RelDataType deriveRowType() { return rowType; } - public List<StaticArgument> getProvidedInputArgs() { - final RexCall call = (RexCall) scan.getCall(); - final List<RexNode> operands = call.getOperands(); - final BridgingSqlFunction.WithTableFunction function = - (BridgingSqlFunction.WithTableFunction) call.getOperator(); - final List<StaticArgument> declaredArgs = - function.getTypeInference() - .getStaticArguments() - .orElseThrow(IllegalStateException::new); - // This logic filters out optional tables for which an input is missing. It returns tables - // in the same order as provided inputs of this RelNode. - return Ord.zip(declaredArgs).stream() - .filter(arg -> arg.e.is(StaticArgumentTrait.TABLE)) - .filter(arg -> operands.get(arg.i) instanceof RexTableArgCall) - .map(arg -> arg.e) - .collect(Collectors.toList()); - } - /** - * An important part of {@link ProcessTableFunction} is the mandatory unique identifier. Even if - * the PTF has no state entries, state or timers might be added later. So a PTF should serve as - * an identifiable black box for the optimizer. UIDs ensure that. + * An important part of {@link ProcessTableFunction} is the mandatory unique identifier for PTFs Review Comment: Yes, this is similar to non-keyed datastream operators. We can't check everything during validation because state and time is available after specialization. Esp. for built-in functions. Specialization happens in StreamExec node. But since this is introducing stateless PTFs. Let's postpone this discussion to stateful ones. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org