andygrove opened a new issue, #2893:
URL: https://github.com/apache/datafusion-sqlparser-rs/issues/2893

   Over the weekend, I started from a clean slate and implemented a new version 
of the sqlparser-rs crate using the design that I had originally wanted but did 
not know how to build (I was still quite new to Rust at the time).
   
   The new version has one trait per dialect and all dialect-specific parsing 
lives in that trait. There is no longer one huge "core" parser containing 
conditional logic for different dialects. Related dialects can also share 
logic. For example, the Hive and Databricks dialects both call into the Spark 
dialect for common pieces.
   
   The new version also has ~10x fewer memory allocations (no more copying 
Strings everywhere) and is ~10x faster.
   
   I am nearly finished porting all of the existing dialects over. The actual 
parsing code is taken from the current implementation, so that is not 
re-written. I have ported over all the tests as well, and am working towards 
100% parity with v1, although v2 contains quite a lot of correctness fixes 
compared to v1.
   
   What is the appetite in the community for me pushing this to a new 2.0 
branch in the Apache repo?
   
   Another option would be for me to file a huge issue explaining the design in 
detail, and let the community rebuild it.
   
   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