Class PruneTableFunctionProcessorColumns

java.lang.Object
io.trino.sql.planner.iterative.rule.ProjectOffPushDownRule<TableFunctionProcessorNode>
io.trino.sql.planner.iterative.rule.PruneTableFunctionProcessorColumns
All Implemented Interfaces:
Rule<ProjectNode>

public class PruneTableFunctionProcessorColumns extends ProjectOffPushDownRule<TableFunctionProcessorNode>
TableFunctionProcessorNode has two kinds of outputs: - proper outputs, which are the columns produced by the table function, - pass-through outputs, which are the columns copied from table arguments. This rule filters out unreferenced pass-through symbols. Unreferenced proper symbols are not pruned, because there is currently no way to communicate to the table function the request for not producing certain columns. // TODO prune table function's proper outputs