Skip to main content

sqlx_oldapi/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3pub use sqlx_core::acquire::Acquire;
4pub use sqlx_core::arguments::{Arguments, IntoArguments};
5pub use sqlx_core::column::Column;
6pub use sqlx_core::column::ColumnIndex;
7pub use sqlx_core::connection::{ConnectOptions, Connection};
8pub use sqlx_core::database::{self, Database};
9pub use sqlx_core::describe::Describe;
10pub use sqlx_core::executor::{Execute, Executor};
11pub use sqlx_core::from_row::FromRow;
12pub use sqlx_core::pool::{self, Pool};
13pub use sqlx_core::query::{query, query_with};
14pub use sqlx_core::query_as::{query_as, query_as_with};
15pub use sqlx_core::query_builder::{self, QueryBuilder};
16pub use sqlx_core::query_scalar::{query_scalar, query_scalar_with};
17pub use sqlx_core::row::Row;
18pub use sqlx_core::statement::Statement;
19pub use sqlx_core::transaction::{Transaction, TransactionManager};
20pub use sqlx_core::type_info::TypeInfo;
21pub use sqlx_core::types::Type;
22pub use sqlx_core::value::{Value, ValueRef};
23pub use sqlx_core::Either;
24
25#[doc(inline)]
26pub use sqlx_core::error::{self, Error, Result};
27
28#[cfg(feature = "migrate")]
29pub use sqlx_core::migrate;
30
31#[cfg(all(
32    any(
33        feature = "mysql",
34        feature = "sqlite",
35        feature = "postgres",
36        feature = "mssql",
37        feature = "odbc"
38    ),
39    feature = "any"
40))]
41pub use sqlx_core::any::{self, Any, AnyConnection, AnyExecutor, AnyPool};
42
43#[cfg(feature = "mysql")]
44#[cfg_attr(docsrs, doc(cfg(feature = "mysql")))]
45pub use sqlx_core::mysql::{self, MySql, MySqlConnection, MySqlExecutor, MySqlPool};
46
47#[cfg(feature = "mssql")]
48#[cfg_attr(docsrs, doc(cfg(feature = "mssql")))]
49pub use sqlx_core::mssql::{self, Mssql, MssqlConnection, MssqlExecutor, MssqlPool};
50
51#[cfg(feature = "postgres")]
52#[cfg_attr(docsrs, doc(cfg(feature = "postgres")))]
53pub use sqlx_core::postgres::{self, PgConnection, PgExecutor, PgPool, Postgres};
54
55#[cfg(feature = "sqlite")]
56#[cfg_attr(docsrs, doc(cfg(feature = "sqlite")))]
57pub use sqlx_core::sqlite::{self, Sqlite, SqliteConnection, SqliteExecutor, SqlitePool};
58
59#[cfg(feature = "odbc")]
60#[cfg_attr(docsrs, doc(cfg(feature = "odbc")))]
61pub use sqlx_core::odbc::{self, Odbc, OdbcConnection, OdbcExecutor, OdbcPool};
62
63#[cfg(feature = "macros")]
64#[doc(hidden)]
65pub extern crate sqlx_macros;
66
67// derives
68#[cfg(feature = "macros")]
69#[doc(hidden)]
70pub use sqlx_macros::{FromRow, Type};
71
72// We can't do our normal facade approach with an attribute, but thankfully we can now
73// have docs out-of-line quite easily.
74#[doc = include_str!("macros/test.md")]
75pub use sqlx_macros::test;
76
77#[doc(hidden)]
78#[cfg(feature = "migrate")]
79pub use sqlx_core::testing;
80
81#[doc(hidden)]
82pub use sqlx_core::test_block_on;
83
84#[cfg(feature = "macros")]
85mod macros;
86
87// macro support
88#[cfg(feature = "macros")]
89#[doc(hidden)]
90pub mod ty_match;
91
92/// Conversions between Rust and SQL types.
93///
94/// To see how each SQL type maps to a Rust type, see the corresponding `types` module for each
95/// database:
96///
97///  * Postgres: [postgres::types]
98///  * MySQL: [mysql::types]
99///  * SQLite: [sqlite::types]
100///  * MSSQL: [mssql::types]
101///
102/// Any external types that have had [`Type`] implemented for, are re-exported in this module
103/// for convenience as downstream users need to use a compatible version of the external crate
104/// to take advantage of the implementation.
105///
106/// [`Type`]: types::Type
107pub mod types {
108    pub use sqlx_core::types::*;
109
110    #[cfg(feature = "macros")]
111    #[doc(hidden)]
112    pub use sqlx_macros::Type;
113}
114
115/// Provides [`Encode`](encode::Encode) for encoding values for the database.
116pub mod encode {
117    pub use sqlx_core::encode::{Encode, IsNull};
118
119    #[cfg(feature = "macros")]
120    #[doc(hidden)]
121    pub use sqlx_macros::Encode;
122}
123
124pub use self::encode::Encode;
125
126/// Provides [`Decode`](decode::Decode) for decoding values from the database.
127pub mod decode {
128    pub use sqlx_core::decode::Decode;
129
130    #[cfg(feature = "macros")]
131    #[doc(hidden)]
132    pub use sqlx_macros::Decode;
133}
134
135pub use self::decode::Decode;
136
137/// Types and traits for the `query` family of functions and macros.
138pub mod query {
139    pub use sqlx_core::query::{Map, Query};
140    pub use sqlx_core::query_as::QueryAs;
141    pub use sqlx_core::query_scalar::QueryScalar;
142}
143
144/// Convenience re-export of common traits.
145pub mod prelude {
146    pub use super::Acquire;
147    pub use super::ConnectOptions;
148    pub use super::Connection;
149    pub use super::Decode;
150    pub use super::Encode;
151    pub use super::Executor;
152    pub use super::FromRow;
153    pub use super::IntoArguments;
154    pub use super::Row;
155    pub use super::Statement;
156    pub use super::Type;
157}
158
159#[doc(hidden)]
160#[inline(always)]
161#[deprecated = "`#[sqlx(rename = \"...\")]` is now `#[sqlx(type_name = \"...\")`"]
162pub fn _rename() {}