diff --git a/src/sqlparser.rs b/src/sqlparser.rs index edfa0c573..169e1cba2 100644 --- a/src/sqlparser.rs +++ b/src/sqlparser.rs @@ -20,6 +20,7 @@ use super::dialect::keywords; use super::dialect::Dialect; use super::sqlast::*; use super::sqltokenizer::*; +use std::error::Error; #[derive(Debug, Clone, PartialEq)] pub enum ParserError { @@ -47,6 +48,21 @@ impl From for ParserError { } } +impl std::fmt::Display for ParserError { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!( + f, + "sql parser error: {}", + match self { + ParserError::TokenizerError(s) => s, + ParserError::ParserError(s) => s, + } + ) + } +} + +impl Error for ParserError {} + /// SQL Parser pub struct Parser { tokens: Vec,