sqlx_exasol/
lib.rs

1#![cfg_attr(not(test), warn(unused_crate_dependencies))]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![doc = include_str!("lib.md")]
4
5pub use sqlx_core::acquire::Acquire;
6pub use sqlx_core::arguments::{Arguments, IntoArguments};
7pub use sqlx_core::column::Column;
8pub use sqlx_core::column::ColumnIndex;
9pub use sqlx_core::column::ColumnOrigin;
10pub use sqlx_core::connection::{ConnectOptions, Connection};
11pub use sqlx_core::database::{self, Database};
12pub use sqlx_core::describe::Describe;
13pub use sqlx_core::executor::{Execute, Executor};
14pub use sqlx_core::from_row::FromRow;
15pub use sqlx_core::pool::{self, Pool};
16#[doc(hidden)]
17pub use sqlx_core::query::query_with_result as __query_with_result;
18pub use sqlx_core::query::{query, query_with};
19pub use sqlx_core::query_as::{query_as, query_as_with};
20pub use sqlx_core::query_builder::{self, QueryBuilder};
21#[doc(hidden)]
22pub use sqlx_core::query_scalar::query_scalar_with_result as __query_scalar_with_result;
23pub use sqlx_core::query_scalar::{query_scalar, query_scalar_with};
24#[rustfmt::skip] // preserver order
25pub use sqlx_core::raw_sql::{raw_sql, RawSql};
26pub use sqlx_core::row::Row;
27pub use sqlx_core::sql_str::{AssertSqlSafe, SqlSafeStr, SqlStr};
28pub use sqlx_core::statement::Statement;
29pub use sqlx_core::transaction::Transaction;
30pub use sqlx_core::type_info::TypeInfo;
31pub use sqlx_core::types::Type;
32pub use sqlx_core::value::{Value, ValueRef};
33#[rustfmt::skip] // preserver order
34pub use sqlx_core::Either;
35
36#[doc(inline)]
37pub use sqlx_core::error::{self, Error, Result};
38
39#[cfg(feature = "migrate")]
40pub use sqlx_core::migrate;
41
42// Driver re-exports
43#[doc(inline)]
44pub use sqlx_exasol_impl::*;
45
46#[rustfmt::skip] // preserver order
47#[cfg(feature = "any")]
48#[cfg_attr(docsrs, doc(cfg(feature = "any")))]
49pub use crate::any::{reexports::*, Any, AnyExecutor};
50
51#[cfg(any(feature = "derive", feature = "macros"))]
52#[doc(hidden)]
53pub extern crate sqlx_exasol_macros;
54
55// derives
56#[cfg(feature = "derive")]
57#[doc(hidden)]
58pub use sqlx_exasol_macros::{FromRow, Type};
59
60#[cfg(feature = "macros")]
61pub use sqlx_exasol_macros::test;
62
63#[doc(hidden)]
64#[cfg(feature = "migrate")]
65pub use sqlx_core::testing;
66
67#[doc(hidden)]
68pub use sqlx_core::rt::test_block_on;
69
70// Replicates `sqlx::any` module re-exports
71#[cfg(feature = "any")]
72pub mod any {
73    #[allow(deprecated)]
74    pub use sqlx_core::any::AnyKind;
75    #[cfg_attr(docsrs, doc(cfg(feature = "any")))]
76    pub use sqlx_core::any::{
77        Any, AnyArguments, AnyConnectOptions, AnyExecutor, AnyPoolOptions, AnyQueryResult, AnyRow,
78        AnyStatement, AnyTransactionManager, AnyTypeInfo, AnyTypeInfoKind, AnyValue, AnyValueRef,
79        driver::install_drivers,
80    };
81
82    pub(crate) mod reexports {
83        pub use sqlx_core::any::AnyConnection;
84        pub use sqlx_core::any::AnyPool;
85    }
86    pub use sqlx_exasol_impl::any::*;
87}
88
89#[cfg(feature = "macros")]
90mod macros;
91
92// macro support
93#[cfg(feature = "macros")]
94#[doc(hidden)]
95pub mod ty_match;
96
97// Not present in `sqlx-core`, unfortunately.
98#[cfg(any(feature = "derive", feature = "macros"))]
99#[doc(hidden)]
100pub use sqlx_orig::spec_error;
101
102#[doc(hidden)]
103pub use sqlx_core::rt as __rt;
104
105#[doc = include_str!("types.md")]
106pub mod types {
107    pub use sqlx_core::types::*;
108    pub use sqlx_exasol_impl::types::*;
109
110    #[cfg(feature = "chrono")]
111    pub mod chrono {
112        pub use sqlx_core::types::chrono::*;
113        pub use sqlx_exasol_impl::types::chrono::*;
114    }
115
116    #[cfg(feature = "time")]
117    pub mod time {
118        pub use sqlx_core::types::time::*;
119        pub use sqlx_exasol_impl::types::time::*;
120    }
121
122    #[cfg(feature = "derive")]
123    #[doc(hidden)]
124    pub use sqlx_exasol_macros::Type;
125}
126
127/// Provides [`Encode`] for encoding values for the database.
128pub mod encode {
129    pub use sqlx_core::encode::{Encode, IsNull};
130
131    #[cfg(feature = "derive")]
132    #[doc(hidden)]
133    pub use sqlx_exasol_macros::Encode;
134}
135
136pub use self::encode::Encode;
137
138/// Provides [`Decode`] for decoding values from the database.
139pub mod decode {
140    pub use sqlx_core::decode::Decode;
141
142    #[cfg(feature = "derive")]
143    #[doc(hidden)]
144    pub use sqlx_exasol_macros::Decode;
145}
146
147pub use self::decode::Decode;
148
149/// Types and traits for the `query` family of functions and macros.
150pub mod query {
151    pub use sqlx_core::query::{Map, Query};
152    pub use sqlx_core::query_as::QueryAs;
153    pub use sqlx_core::query_scalar::QueryScalar;
154}
155
156/// Convenience re-export of common traits.
157pub mod prelude {
158    pub use super::Acquire;
159    pub use super::ConnectOptions;
160    pub use super::Connection;
161    pub use super::Decode;
162    pub use super::Encode;
163    pub use super::Executor;
164    pub use super::FromRow;
165    pub use super::IntoArguments;
166    pub use super::Row;
167    pub use super::Statement;
168    pub use super::Type;
169}
170
171#[cfg(feature = "_unstable-docs")]
172pub use sqlx_core::config as _config;
173
174// NOTE: APIs exported in this module are SemVer-exempt.
175#[doc(hidden)]
176pub mod _unstable {
177    pub use sqlx_core::config;
178}
179
180// Not present in `sqlx-core`, unfortunately.
181#[doc(hidden)]
182pub use sqlx_orig::{
183    warn_on_ambiguous_inferred_date_time_crate, warn_on_ambiguous_inferred_numeric_crate,
184};