prashantksharma opened a new pull request, #415:
URL: https://github.com/apache/datafusion-comet/pull/415

   ## Which issue does this PR close?
   
   
   Closes #361 
   
   ## Rationale for this change
   
   The updates to `expr.proto` by using enums instead of strings, which 
prevents potential errors in type interpretation. Modifications in `planner.rs` 
and `QueryPlanSerde.scala` resolve issues found during compilation and style 
checks.
   
   ## What changes are included in this PR?
   
   - `expr.proto`: Updated the `eval_mode` field from a string type to an enum 
type (`EvalMode`), with defined values `LEGACY`, `TRY`, and `ANSI`. 
   - Rust Code: Modified `ExprStruct::Cast(expr)` in `planner.rs` to handle 
`eval_mode` as integers corresponding to the new protobuf enum. Updated the 
match statement to directly convert integers to the EvalMode Rust enum and 
added error handling for invalid integers.
   - `QueryPlanSerde.scala`: 
       - Introduced the `stringToEvalMode` function, which converts input 
strings to `ExprOuterClass.EvalMode` enum values using a case-insensitive 
match, enhancing our error handling by throwing exceptions for invalid modes.
       - Corrected the use of `toUpperCase` to include `Locale.ROOT` to avoid 
locale-sensitive behavior, aligning with internationalization best practices.
       - Reorganized imports to comply with project's Scalastyle guidelines, 
clearly separating Java standard library imports from those specific to the 
project, which aids in code clarity and maintenance.
       - Addressed and resolved Scalastyle violations related to 
locale-specific string manipulations. Fixed the Scalastyle violation by 
correcting the usage of `toUpperCase` without specifying a locale. Reorganized 
import statements to adhere to the project's coding standards, ensuring that 
Java standard library imports are correctly grouped.
   
   ## How are these changes tested?
   
   I have run 
   - `make test-rust`: No failures.
   - `make test-jvm`: No failures. 
   
   
   
   


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

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