[ https://issues.apache.org/jira/browse/FLINK-24610?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lyn Zhang updated FLINK-24610: ------------------------------ Description: Flink sql projection not support reusing common expression in code generator. For example the sql: SELECT split(a, '_'_)[1], split(a, '_'_)[2] FROM table.The function split(a, '_') will be invoked 2 times per row data. We can use CalcProgram.getExprList to generator each expression and CalcProgram.getProjectList to eliminate common expression. was: Flink sql projection can not reuse common expression in code generator. For example the sql: SELECT split(a, '_'_)[1], split(a, '_'_)[2] FROM table. The function split(a, '_') will be invoked 2 times per row data. Eliminate common expression by calcite. > Flink projection common expression elimination > ---------------------------------------------- > > Key: FLINK-24610 > URL: https://issues.apache.org/jira/browse/FLINK-24610 > Project: Flink > Issue Type: Improvement > Components: Table SQL / Planner > Reporter: Lyn Zhang > Priority: Major > Labels: pull-request-available > > Flink sql projection not support reusing common expression in code generator. > For example the sql: SELECT split(a, '_'_)[1], split(a, '_'_)[2] FROM > table.The function split(a, '_') will be invoked 2 times per row data. > We can use CalcProgram.getExprList to generator each expression and > CalcProgram.getProjectList to eliminate common expression. -- This message was sent by Atlassian Jira (v8.3.4#803005)