#![cfg_attr(not(feature = "std"), no_std)]
macro_rules! _sqlstate {
(0) => {
$crate::character::Char::_0
};
(1) => {
$crate::character::Char::_1
};
(2) => {
$crate::character::Char::_2
};
(3) => {
$crate::character::Char::_3
};
(4) => {
$crate::character::Char::_4
};
(5) => {
$crate::character::Char::_5
};
(6) => {
$crate::character::Char::_6
};
(7) => {
$crate::character::Char::_7
};
(8) => {
$crate::character::Char::_8
};
(9) => {
$crate::character::Char::_9
};
($x:ident) => {
$crate::character::Char::$x
};
}
macro_rules! sqlstate {
($a:tt $b:tt $c:tt $d:tt $e:tt) => {
$crate::SqlState {
code: [
_sqlstate!($a),
_sqlstate!($b),
_sqlstate!($c),
_sqlstate!($d),
_sqlstate!($e),
],
}
};
($a:tt $b:tt $c:tt $d:tt ..) => {
$crate::SqlState {
code: [
_sqlstate!($a),
_sqlstate!($b),
_sqlstate!($c),
_sqlstate!($d),
..,
],
}
};
($a:tt $b:tt $c:tt ..) => {
$crate::SqlState {
code: [_sqlstate!($a), _sqlstate!($b), _sqlstate!($c), ..],
}
};
($a:tt $b:tt ..) => {
$crate::SqlState {
code: [_sqlstate!($a), _sqlstate!($b), ..],
}
};
($a:tt ..) => {
$crate::SqlState {
code: [_sqlstate!($a), ..],
}
};
($a:tt $b:tt) => {
$crate::Class {
code: [_sqlstate!($a), _sqlstate!($b)],
}
};
}
mod category;
mod character;
mod class;
mod error;
mod sqlstate;
pub use category::Category;
pub use class::Class;
pub use error::ParseError;
pub use sqlstate::SqlState;
#[allow(non_snake_case)]
mod _fn {
#[inline]
pub const fn SqlState(value: &'static str) -> super::SqlState {
match super::SqlState::from_str(value) {
Ok(result) => result,
Err(_) => panic!("{}", "invalid SQLSTATE string"),
}
}
#[inline]
pub const fn Class(value: &'static str) -> super::Class {
match super::Class::from_str(value) {
Ok(result) => result,
Err(_) => panic!("{}", "invalid SQLSTATE class string"),
}
}
}
pub use _fn::*;