#[non_exhaustive]pub enum Error {
Io(Error),
UnrecognizedToken(Option<(u64, usize)>, Option<SourceSpan>),
UnterminatedLiteral(Option<(u64, usize)>, Option<SourceSpan>),
UnterminatedBracket(Option<(u64, usize)>, Option<SourceSpan>),
UnterminatedBlockComment(Option<(u64, usize)>, Option<SourceSpan>),
BadVariableName(Option<(u64, usize)>, Option<SourceSpan>),
BadNumber(Option<(u64, usize)>, Option<SourceSpan>, Option<usize>, String),
ExpectedEqualsSign(Option<(u64, usize)>, Option<SourceSpan>),
MalformedBlobLiteral(Option<(u64, usize)>, Option<SourceSpan>),
MalformedHexInteger(Option<(u64, usize)>, Option<SourceSpan>, Option<usize>, Option<&'static str>),
ParserError(ParserError, Option<(u64, usize)>, Option<SourceSpan>),
}Expand description
SQL lexer and parser errors
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Io(Error)
I/O Error
UnrecognizedToken(Option<(u64, usize)>, Option<SourceSpan>)
Lexer error
UnterminatedLiteral(Option<(u64, usize)>, Option<SourceSpan>)
Missing quote or double-quote or backtick
UnterminatedBracket(Option<(u64, usize)>, Option<SourceSpan>)
Missing ]
UnterminatedBlockComment(Option<(u64, usize)>, Option<SourceSpan>)
Missing */
BadVariableName(Option<(u64, usize)>, Option<SourceSpan>)
Invalid parameter name
BadNumber(Option<(u64, usize)>, Option<SourceSpan>, Option<usize>, String)
Invalid number format
ExpectedEqualsSign(Option<(u64, usize)>, Option<SourceSpan>)
Invalid or missing sign after !
MalformedBlobLiteral(Option<(u64, usize)>, Option<SourceSpan>)
BLOB literals are string literals containing hexadecimal data and preceded by a single “x” or “X” character.
MalformedHexInteger(Option<(u64, usize)>, Option<SourceSpan>, Option<usize>, Option<&'static str>)
Hexadecimal integer literals follow the C-language notation of “0x” or “0X” followed by hexadecimal digits.
ParserError(ParserError, Option<(u64, usize)>, Option<SourceSpan>)
Grammar error
Trait Implementations§
Source§impl Diagnostic for Error
impl Diagnostic for Error
Source§fn help(&self) -> Option<Box<dyn Display + '_>>
fn help(&self) -> Option<Box<dyn Display + '_>>
Additional help text related to this
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Labels to apply to this
Diagnostic’s Diagnostic::source_codeSource§fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Unique diagnostic code that can be used to look up more information
about this
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Diagnostic severity. This may be used by
ReportHandlers to change the display format
of this diagnostic. Read moreSource§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
URL to visit for a more detailed explanation/help about this
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Source code to apply this
Diagnostic’s Diagnostic::labels to.Additional related
Diagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<ParserError> for Error
impl From<ParserError> for Error
Source§fn from(err: ParserError) -> Self
fn from(err: ParserError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for Error
impl !UnwindSafe for Error
impl Freeze for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more