SQL lexer

Build Status Crate

Rust library to lex and sanitize SQL. To lex a query and write back to a string:

```rust extern crate sql_lexer;

fn main() { let sql = sqllexer::lex("SELECT * FROM table".tostring()).lex(); println!("{}", sql_lexer::write(sql)); } ```

To sanitize all content from a query so you just get the generic components:

```rust extern crate sql_lexer;

fn main() { println!("{}", sqllexer::sanitizestring("SELECT * FROM table WHERE id = 1".to_string())); } ```

This wil output:

sql SELECT * FROM `table` WHERE id = ?

The documentation is available here.

Command line

There's a utility included to sanitize a sql query in a file to facilitate testing:

cargo run -- <path-to-file>

License

Licensed under either of

at your option.

Contribution

Contributions are very welcome. Please make sure that you add a test for any use case you want to add.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.