dogdata_sqlx/
lib.rs

1pub(crate) mod sqlx_otel_span_macro;
2
3pub mod execute;
4pub mod query_builder;
5
6#[macro_export]
7macro_rules! instrumented_query {
8    ($sql:expr $(, $arg:expr)* $(,)?) => {{
9        $crate::query_builder::InstrumentedQueryBuilder {
10            query: ::sqlx::query!($sql $(, $arg)*),
11            sql: $sql,
12        }
13    }};
14}
15
16#[macro_export]
17macro_rules! instrumented_query_as {
18    ($out_ty:ty, $sql:expr $(, $arg:expr)* $(,)?) => {{
19        $crate::query_builder::InstrumentedQueryBuilder {
20            query: ::sqlx::query_as!($out_ty, $sql $(, $arg)*),
21            sql: $sql,
22        }
23    }};
24}
25
26#[macro_export]
27macro_rules! instrumented_query_scalar {
28    ($sql:expr $(, $arg:expr)* $(,)?) => {{
29        $crate::query_builder::InstrumentedQueryBuilder {
30            query: ::sqlx::query_scalar!($sql $(, $arg)*),
31            sql: $sql,
32        }
33    }};
34}
35
36#[macro_export]
37macro_rules! instrumented_query_file {
38    ($path:literal $(, $arg:expr)* $(,)?) => {{
39        $crate::InstrumentedQueryBuilder {
40            query: ::sqlx::query_file!($path $(, $arg)*),
41            sql: include_str!($path),
42        }
43    }};
44}
45
46#[macro_export]
47macro_rules! instrumented_query_file_as {
48    ($out_ty:ty, $path:literal $(, $arg:expr)* $(,)?) => {{
49        $crate::query_builder::InstrumentedQueryBuilder {
50            query: ::sqlx::query_file_as!($out_ty, $path $(, $arg)*),
51            sql: include_str!($path),
52        }
53    }};
54}
55
56#[macro_export]
57macro_rules! instrumented_query_file_scalar {
58    ($path:literal $(, $arg:expr)* $(,)?) => {{
59        $crate::query_builder::InstrumentedQueryBuilder {
60            query: ::sqlx::query_file_scalar!($path $(, $arg)*),
61            sql: include_str!($path),
62        }
63    }};
64}