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