sqlx_exasol_macros/
lib.rs1#![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}