1#[macro_export]
2#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
3macro_rules! query (
4 ($query:expr) => ({
5 $crate::sqlx_exasol_macros::expand_query!(source = $query)
6 });
7 ($query:expr, $($args:tt)*) => ({
8 $crate::sqlx_exasol_macros::expand_query!(source = $query, args = [$($args)*])
9 })
10);
11
12#[macro_export]
13#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
14macro_rules! query_unchecked (
15 ($query:expr) => ({
16 $crate::sqlx_exasol_macros::expand_query!(source = $query, checked = false)
17 });
18 ($query:expr, $($args:tt)*) => ({
19 $crate::sqlx_exasol_macros::expand_query!(source = $query, args = [$($args)*], checked = false)
20 })
21);
22
23#[macro_export]
24#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
25macro_rules! query_file (
26 ($path:literal) => ({
27 $crate::sqlx_exasol_macros::expand_query!(source_file = $path)
28 });
29 ($path:literal, $($args:tt)*) => ({
30 $crate::sqlx_exasol_macros::expand_query!(source_file = $path, args = [$($args)*])
31 })
32);
33
34#[macro_export]
35#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
36macro_rules! query_file_unchecked (
37 ($path:literal) => ({
38 $crate::sqlx_exasol_macros::expand_query!(source_file = $path, checked = false)
39 });
40 ($path:literal, $($args:tt)*) => ({
41 $crate::sqlx_exasol_macros::expand_query!(source_file = $path, args = [$($args)*], checked = false)
42 })
43);
44
45#[macro_export]
46#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
47macro_rules! query_as (
48 ($out_struct:path, $query:expr) => ( {
49 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source = $query)
50 });
51 ($out_struct:path, $query:expr, $($args:tt)*) => ( {
52 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source = $query, args = [$($args)*])
53 })
54);
55
56#[macro_export]
57#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
58macro_rules! query_file_as (
59 ($out_struct:path, $path:literal) => ( {
60 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source_file = $path)
61 });
62 ($out_struct:path, $path:literal, $($args:tt)*) => ( {
63 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source_file = $path, args = [$($args)*])
64 })
65);
66
67#[macro_export]
68#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
69macro_rules! query_as_unchecked (
70 ($out_struct:path, $query:expr) => ( {
71 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source = $query, checked = false)
72 });
73
74 ($out_struct:path, $query:expr, $($args:tt)*) => ( {
75 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source = $query, args = [$($args)*], checked = false)
76 })
77);
78
79#[macro_export]
80#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
81macro_rules! query_file_as_unchecked (
82 ($out_struct:path, $path:literal) => ( {
83 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source_file = $path, checked = false)
84 });
85
86 ($out_struct:path, $path:literal, $($args:tt)*) => ( {
87 $crate::sqlx_exasol_macros::expand_query!(record = $out_struct, source_file = $path, args = [$($args)*], checked = false)
88 })
89);
90
91#[macro_export]
92#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
93macro_rules! query_scalar (
94 ($query:expr) => (
95 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source = $query)
96 );
97 ($query:expr, $($args:tt)*) => (
98 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source = $query, args = [$($args)*])
99 )
100);
101
102#[macro_export]
103#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
104macro_rules! query_file_scalar (
105 ($path:literal) => (
106 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source_file = $path)
107 );
108 ($path:literal, $($args:tt)*) => (
109 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source_file = $path, args = [$($args)*])
110 )
111);
112
113#[macro_export]
114#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
115macro_rules! query_scalar_unchecked (
116 ($query:expr) => (
117 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source = $query, checked = false)
118 );
119 ($query:expr, $($args:tt)*) => (
120 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source = $query, args = [$($args)*], checked = false)
121 )
122);
123
124#[macro_export]
125#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
126macro_rules! query_file_scalar_unchecked (
127 ($path:literal) => (
128 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source_file = $path, checked = false)
129 );
130 ($path:literal, $($args:tt)*) => (
131 $crate::sqlx_exasol_macros::expand_query!(scalar = _, source_file = $path, args = [$($args)*], checked = false)
132 )
133);
134
135#[cfg(feature = "migrate")]
136#[macro_export]
137macro_rules! migrate {
138 ($dir:literal) => {{ $crate::sqlx_exasol_macros::migrate!($dir) }};
139
140 () => {{ $crate::sqlx_exasol_macros::migrate!() }};
141}