sqlx_etorreborre/
lib.rs

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