1#![cfg_attr(not(test), warn(unused_crate_dependencies))]
2#[cfg(test)]
5extern crate sqlx_a_orig as sqlx;
6
7#[cfg(feature = "native-tls")]
8use native_tls as _;
9#[cfg(feature = "tls")]
10use rcgen as _;
11#[cfg(feature = "rustls")]
12use rustls as _;
13
14#[cfg(feature = "any")]
15pub mod any;
16mod arguments;
17mod column;
18mod connection;
19mod database;
20mod error;
21#[cfg(feature = "migrate")]
22mod migrate;
23mod options;
24mod query_result;
25mod responses;
26mod row;
27mod statement;
28#[cfg(feature = "migrate")]
29mod testing;
30mod transaction;
31#[cfg(feature = "macros")]
32mod type_checking;
33mod type_info;
34pub mod types;
35mod value;
36
37pub use arguments::ExaArguments;
38pub use column::ExaColumn;
39#[cfg(feature = "etl")]
40pub use connection::etl;
41pub use connection::ExaConnection;
42pub use database::Exasol;
43pub use options::{ExaCompressionMode, ExaConnectOptions, ExaConnectOptionsBuilder, ExaSslMode};
44pub use query_result::ExaQueryResult;
45pub use responses::{ExaAttributes, ExaDatabaseError, SessionInfo};
46pub use row::ExaRow;
47use sqlx_core::{
48 executor::Executor, impl_acquire, impl_column_index_for_row, impl_column_index_for_statement,
49 impl_into_arguments_for_arguments,
50};
51pub use statement::ExaStatement;
52pub use transaction::ExaTransactionManager;
53#[doc(hidden)]
54#[cfg(feature = "macros")]
55pub use type_checking::QUERY_DRIVER;
56pub use type_info::ExaTypeInfo;
57pub use value::{ExaValue, ExaValueRef};
58
59pub type ExaPool = sqlx_core::pool::Pool<Exasol>;
61
62pub type ExaPoolOptions = sqlx_core::pool::PoolOptions<Exasol>;
64
65pub trait ExaExecutor<'c>: Executor<'c, Database = Exasol> {}
67impl<'c, T: Executor<'c, Database = Exasol>> ExaExecutor<'c> for T {}
68
69impl_into_arguments_for_arguments!(ExaArguments);
70impl_acquire!(Exasol, ExaConnection);
71impl_column_index_for_row!(ExaRow);
72impl_column_index_for_statement!(ExaStatement);
73
74type SqlxError = sqlx_core::Error;
78type SqlxResult<T> = sqlx_core::Result<T>;