sqlx_oldapi/
lib.rs

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// derives
70#[cfg(feature = "macros")]
71#[doc(hidden)]
72pub use sqlx_macros::{FromRow, Type};
73
74// We can't do our normal facade approach with an attribute, but thankfully we can now
75// have docs out-of-line quite easily.
76#[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// macro support
90#[cfg(feature = "macros")]
91#[doc(hidden)]
92pub mod ty_match;
93
94/// Conversions between Rust and SQL types.
95///
96/// To see how each SQL type maps to a Rust type, see the corresponding `types` module for each
97/// database:
98///
99///  * Postgres: [postgres::types]
100///  * MySQL: [mysql::types]
101///  * SQLite: [sqlite::types]
102///  * MSSQL: [mssql::types]
103///
104/// Any external types that have had [`Type`] implemented for, are re-exported in this module
105/// for convenience as downstream users need to use a compatible version of the external crate
106/// to take advantage of the implementation.
107///
108/// [`Type`]: types::Type
109pub mod types {
110    pub use sqlx_core::types::*;
111
112    #[cfg(feature = "macros")]
113    #[doc(hidden)]
114    pub use sqlx_macros::Type;
115}
116
117/// Provides [`Encode`](encode::Encode) for encoding values for the database.
118pub 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
128/// Provides [`Decode`](decode::Decode) for decoding values from the database.
129pub 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
139/// Types and traits for the `query` family of functions and macros.
140pub 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
146/// Convenience re-export of common traits.
147pub 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() {}