attilapiros commented on pull request #34642:
URL: https://github.com/apache/spark/pull/34642#issuecomment-974205883


   @viirya 
   Could it be at the root of this problem we have a missing flag? 
   I think we have 3 different states here and only 1 boolean flag:
   
   | supports columnar  | supports row based |
   | ------------- | ------------- |
   |  true   | false  |
   | false  | true  |
   | true  | true  |
   
   So we might abuse supportsColumnar == false and take it as supportsRowBased. 
   
   What about introducing a new flag right beside the old one:
   
https://github.com/apache/spark/blob/eb851308f9b562bb84f09f7ef8b01e312df9b5e5/sql/core/src/main/scala/org/apache/spark/sql/execution/SparkPlan.scala#L77
   
   Something like:
   ```
    def supportsRowBased: Boolean = !supportsColumnar 
   ```
   And in `InMemoryTableScanExec` we can override it.
   
   This would a more generic solution as any node which support both can avoid 
to use the unneeded to-row transition. 
   WDYT?
    


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to