1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3#[cfg(any(feature = "runtime-async-std", feature = "runtime-tokio"))]
4compile_error!(
5 "the features 'runtime-actix', 'runtime-async-std' and 'runtime-tokio' have been removed in
6 favor of new features 'runtime-{rt}-{tls}' where rt is one of 'actix', 'async-std' and 'tokio'
7 and 'tls' is one of 'native-tls' and 'rustls'."
8);
9
10pub use sqlx_core::acquire::Acquire;
11pub use sqlx_core::arguments::{Arguments, IntoArguments};
12pub use sqlx_core::column::Column;
13pub use sqlx_core::column::ColumnIndex;
14pub use sqlx_core::connection::{ConnectOptions, Connection};
15pub use sqlx_core::database::{self, Database};
16pub use sqlx_core::describe::Describe;
17pub use sqlx_core::executor::{Execute, Executor};
18pub use sqlx_core::from_row::FromRow;
19pub use sqlx_core::pool::{self, Pool};
20pub use sqlx_core::query::{query, query_with};
21pub use sqlx_core::query_as::{query_as, query_as_with};
22pub use sqlx_core::query_builder::{self, QueryBuilder};
23pub use sqlx_core::query_scalar::{query_scalar, query_scalar_with};
24pub use sqlx_core::row::Row;
25pub use sqlx_core::statement::Statement;
26pub use sqlx_core::transaction::{Transaction, TransactionManager};
27pub use sqlx_core::type_info::TypeInfo;
28pub use sqlx_core::types::Type;
29pub use sqlx_core::value::{Value, ValueRef};
30pub use sqlx_core::Either;
31
32#[doc(inline)]
33pub use sqlx_core::error::{self, Error, Result};
34
35#[cfg(feature = "migrate")]
36pub use sqlx_core::migrate;
37
38#[cfg(all(
39 any(
40 feature = "mysql",
41 feature = "sqlite",
42 feature = "postgres",
43 feature = "mssql"
44 ),
45 feature = "any"
46))]
47pub use sqlx_core::any::{self, Any, AnyConnection, AnyExecutor, AnyPool};
48
49#[cfg(feature = "mysql")]
50#[cfg_attr(docsrs, doc(cfg(feature = "mysql")))]
51pub use sqlx_core::mysql::{self, MySql, MySqlConnection, MySqlExecutor, MySqlPool};
52
53#[cfg(feature = "mssql")]
54#[cfg_attr(docsrs, doc(cfg(feature = "mssql")))]
55pub use sqlx_core::mssql::{self, Mssql, MssqlConnection, MssqlExecutor, MssqlPool};
56
57#[cfg(feature = "postgres")]
58#[cfg_attr(docsrs, doc(cfg(feature = "postgres")))]
59pub use sqlx_core::postgres::{self, PgConnection, PgExecutor, PgPool, Postgres};
60
61#[cfg(feature = "sqlite")]
62#[cfg_attr(docsrs, doc(cfg(feature = "sqlite")))]
63pub use sqlx_core::sqlite::{self, Sqlite, SqliteConnection, SqliteExecutor, SqlitePool};
64
65#[cfg(feature = "macros")]
66#[doc(hidden)]
67pub extern crate sqlx_macros;
68
69#[cfg(feature = "macros")]
71#[doc(hidden)]
72pub use sqlx_macros::{FromRow, Type};
73
74#[doc = include_str!("macros/test.md")]
77pub use sqlx_macros::test;
78
79#[doc(hidden)]
80#[cfg(feature = "migrate")]
81pub use sqlx_core::testing;
82
83#[doc(hidden)]
84pub use sqlx_core::test_block_on;
85
86#[cfg(feature = "macros")]
87mod macros;
88
89#[cfg(feature = "macros")]
91#[doc(hidden)]
92pub mod ty_match;
93
94pub mod types {
110 pub use sqlx_core::types::*;
111
112 #[cfg(feature = "macros")]
113 #[doc(hidden)]
114 pub use sqlx_macros::Type;
115}
116
117pub mod encode {
119 pub use sqlx_core::encode::{Encode, IsNull};
120
121 #[cfg(feature = "macros")]
122 #[doc(hidden)]
123 pub use sqlx_macros::Encode;
124}
125
126pub use self::encode::Encode;
127
128pub mod decode {
130 pub use sqlx_core::decode::Decode;
131
132 #[cfg(feature = "macros")]
133 #[doc(hidden)]
134 pub use sqlx_macros::Decode;
135}
136
137pub use self::decode::Decode;
138
139pub mod query {
141 pub use sqlx_core::query::{Map, Query};
142 pub use sqlx_core::query_as::QueryAs;
143 pub use sqlx_core::query_scalar::QueryScalar;
144}
145
146pub mod prelude {
148 pub use super::Acquire;
149 pub use super::ConnectOptions;
150 pub use super::Connection;
151 pub use super::Decode;
152 pub use super::Encode;
153 pub use super::Executor;
154 pub use super::FromRow;
155 pub use super::IntoArguments;
156 pub use super::Row;
157 pub use super::Statement;
158 pub use super::Type;
159}
160
161#[doc(hidden)]
162#[inline(always)]
163#[deprecated = "`#[sqlx(rename = \"...\")]` is now `#[sqlx(type_name = \"...\")`"]
164pub fn _rename() {}