feat: add sqlparser
This commit is contained in:
32
__database/sqlparser/Cargo.lock
generated
Normal file
32
__database/sqlparser/Cargo.lock
generated
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "0.1.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "log"
|
||||||
|
version = "0.4.13"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fcf3805d4480bb5b86070dcfeb9e2cb2ebc148adb753c5cca5f884d1d65a42b2"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sqlparser"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"sqlparser 0.7.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sqlparser"
|
||||||
|
version = "0.7.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e3a3da41f3ddf62cbf92635ace62dd037fad9a91c6871c514fbd404e2059f27d"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
]
|
||||||
11
__database/sqlparser/Cargo.toml
Normal file
11
__database/sqlparser/Cargo.toml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[package]
|
||||||
|
name = "sqlparser"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
sqlparser = "0.7.0"
|
||||||
|
|
||||||
15
__database/sqlparser/src/main.rs
Normal file
15
__database/sqlparser/src/main.rs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
use sqlparser::dialect::GenericDialect;
|
||||||
|
use sqlparser::parser::Parser;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let sql = "SELECT a, b, 123, myfunc(b) \
|
||||||
|
FROM table_1 \
|
||||||
|
WHERE a > b AND b < 100 \
|
||||||
|
ORDER BY a DESC, b";
|
||||||
|
|
||||||
|
let dialect = GenericDialect {}; // or AnsiDialect, or your own dialect ...
|
||||||
|
|
||||||
|
let ast = Parser::parse_sql(&dialect, sql).unwrap();
|
||||||
|
|
||||||
|
println!("AST: {:#?}", ast);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user