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}