liujiayi771 commented on code in PR #4952: URL: https://github.com/apache/incubator-gluten/pull/4952#discussion_r1531426021
########## backends-clickhouse/src/main/scala/io/glutenproject/backendsapi/clickhouse/CHSparkPlanExecApi.scala: ########## @@ -750,4 +750,8 @@ class CHSparkPlanExecApi extends SparkPlanExecApi { ): GenerateExecTransformerBase = { CHGenerateExecTransformer(generator, requiredChildOutput, outer, generatorOutput, child) } + + override def genPreProjectForGenerate(generate: GenerateExec): SparkPlan = generate Review Comment: At least for pre-project, CH and Velox are consistent; they can only execute expressions within the project operator. I think that the logic of pre-project can also be applied to CH at present, it's just that CH has not yet started to adapt `GeneratorExec` that `Generator.child` include expressions. I think you can put `GeneratorExec` into `needsPreProject` for validation, and only apply the pull-out logic when the `Generator.child` is not an `Attribute`. This should not affect the current CH, and later, if CH wants to adapt `GeneratorExec` with expressions in `Generator.child`, it can be directly reused. -- 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: commits-unsubscr...@gluten.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@gluten.apache.org For additional commands, e-mail: commits-h...@gluten.apache.org