23 releases

Uses old Rust 2015

new 0.9.9 Mar 14, 2025
0.9.8 Dec 20, 2024
0.9.7 Aug 1, 2024
0.9.6 Jan 15, 2024
0.4.2 Mar 24, 2016

#141 in Database interfaces

Download history 7/week @ 2024-11-22 78/week @ 2024-11-29 108/week @ 2024-12-06 76/week @ 2024-12-13 172/week @ 2024-12-20 25/week @ 2024-12-27 66/week @ 2025-01-03 372/week @ 2025-01-10 681/week @ 2025-01-17 465/week @ 2025-01-24 349/week @ 2025-01-31 311/week @ 2025-02-07 402/week @ 2025-02-14 239/week @ 2025-02-21 348/week @ 2025-02-28 183/week @ 2025-03-07

1,250 downloads per month

MIT/Apache

105KB
2.5K SLoC

SQL lexer

Build Status Crate

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

extern crate sql_lexer;

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

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

extern crate sql_lexer;

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

This will output:

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.

No runtime deps