sqlx_exasol_macros/
lib.rs

1#![cfg_attr(not(test), warn(unused_crate_dependencies))]
2
3#[cfg(feature = "macros")]
4#[proc_macro]
5pub fn expand_query(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
6    let input = syn::parse_macro_input!(input as sqlx_macros_core::query::QueryMacroInput);
7
8    match sqlx_macros_core::query::expand_input(input, &[sqlx_exasol_impl::QUERY_DRIVER]) {
9        Ok(ts) => ts.into(),
10        Err(e) => {
11            if let Some(parse_err) = e.downcast_ref::<syn::Error>() {
12                parse_err.to_compile_error().into()
13            } else {
14                let msg = e.to_string();
15                quote::quote!(::std::compile_error!(#msg)).into()
16            }
17        }
18    }
19}