mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-29 10:24:06 +00:00
update README
This commit is contained in:
parent
4daa1a2827
commit
a07bca3cf7
1 changed files with 10 additions and 4 deletions
14
README.md
14
README.md
|
@ -1,8 +1,14 @@
|
||||||
# SQL Parser
|
# SQL Parser
|
||||||
|
|
||||||
The goal of this project is to build a SQL lexer and parser capable of parsing ANSI SQL:2011 (or 2016 if I can get access to the specification for free).
|
The main goal of this project is to build a SQL lexer and parser capable of parsing ANSI SQL:2011 (or 2016 if I can get access to the specification for free).
|
||||||
|
|
||||||
The current code is capable of parsing some simple SELECT and CREATE TABLE statements.
|
A secondary goal is to make it easy for others to use this library as a foundation for building custom SQL parsers for vendor-specific dialects.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
The current code is capable of parsing some trivial SELECT and CREATE TABLE statements.
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
let sql = "SELECT a, b, 123, myfunc(b) \
|
let sql = "SELECT a, b, 123, myfunc(b) \
|
||||||
|
@ -27,11 +33,11 @@ This parser is implemented using the [Pratt Parser](https://tdop.github.io/) des
|
||||||
|
|
||||||
I am a fan of this design pattern over parser generators for the following reasons:
|
I am a fan of this design pattern over parser generators for the following reasons:
|
||||||
|
|
||||||
- Parsing code is simple to write and can be concise and elegant (this is far from true for this current implementation unfortunately, but I hope to fix that using some macros)
|
- Code is simple to write and can be concise and elegant (this is far from true for this current implementation unfortunately, but I hope to fix that using some macros)
|
||||||
- Performance is generally better than code generated by parser generators
|
- Performance is generally better than code generated by parser generators
|
||||||
- Debugging is much easier with hand-written code
|
- Debugging is much easier with hand-written code
|
||||||
- It is far easier to extend and make dialect-specific extensions compared to using a parser generator
|
- It is far easier to extend and make dialect-specific extensions compared to using a parser generator
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Please get involved in helping build first class SQL support in Rust by filing issues for missing features (there are plenty!) and create pull requests.
|
Contributors are welcome! Please see the [current issues](https://github.com/andygrove/sqlparser-rs/issues) and feel free to file more!
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue