1extern crate clickhouse_sql_parser;
3
4pub use nom::{
5 self,
6 Err as NomErr,
7 error::ErrorKind,
8};
9
10#[derive(Debug, PartialEq)]
11pub enum Error {
12 Incomplete(nom::Needed),
13 Error(ErrorKind),
14 Failure(ErrorKind),
15}
16
17impl<I> From<NomErr<(I, ErrorKind)>> for Error {
18 fn from(e: NomErr<(I, ErrorKind)>) -> Error {
19 match e {
20 NomErr::Incomplete(n) => Error::Incomplete(n),
21 NomErr::Error((_, k)) => Error::Error(k),
22 NomErr::Failure((_, k)) => Error::Failure(k),
23 }
24 }
25}
26
27fn test() {
28 match clickhouse_sql_parser::sql_query("create table a ( i uint8 ) ENGINE=memory".as_bytes()) {
29 Ok((_, _)) => println!("Ok"),
30 Err(e) => println!("Error: {:?}", Error::from(e)),
31 }
32}
33
34fn main() {
35 test();
36}
37
38#[cfg(test)]
39mod tests {
40 use super::*;
41
42 #[test]
43 fn it_works() {
44 test();
45 assert!(true);
46 }
47}