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 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

Reply via email to