andygrove opened a new issue, #1330:
URL: https://github.com/apache/datafusion-comet/issues/1330

   ### What is the problem the feature request solves?
   
   The QueryPlanSerde class in Comet currently contains a huge match statement 
that handles the logic for translating Spark expressions into protobuf. 
   
   Each match arm:
   - Performs type-checking to determine if the expression is supported.
   - Contains the code for converting the expression into its protobuf 
representation.
   
   While functional, this approach has limitations:
   
   - Readability: The large match statement makes the code harder to navigate 
and maintain.
   - Testability: Testing specific expression logic requires interacting with 
the entire QueryPlanSerde implementation.
   - Extensibility: Adding support for new expressions or customizing behavior 
for specific expressions is non-trivial.
   
   I would like to refactor QueryPlanSerde to move the logic for each 
expression into individual classes or objects. Each expression type would have 
its own class or object that performs type-checking and conversion to protobuf.
   
   This would help with unit testing since we can write tests to interact with 
these new classes or objects without having to use the full QueryPlanSerde 
implementation.
   
   
   
   ### Describe the potential solution
   
   _No response_
   
   ### Additional context
   
   _No response_


-- 
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: github-unsubscr...@datafusion.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to