1#![recursion_limit = "512"]
4#![warn(future_incompatible, rust_2018_idioms)]
5#![allow(clippy::needless_doctest_main, clippy::type_complexity)]
6#![deny(clippy::disallowed_method)]
8#![cfg_attr(docsrs, feature(doc_cfg))]
12#![cfg_attr(feature = "sqlite", deny(unsafe_code))]
17#![cfg_attr(not(feature = "sqlite"), forbid(unsafe_code))]
18
19#[cfg(feature = "bigdecimal")]
20extern crate bigdecimal_ as bigdecimal;
21
22#[macro_use]
23mod ext;
24
25#[macro_use]
26pub mod error;
27
28#[macro_use]
29pub mod arguments;
30
31#[macro_use]
32pub mod pool;
33
34pub mod connection;
35
36#[macro_use]
37pub mod transaction;
38
39#[macro_use]
40pub mod encode;
41
42#[macro_use]
43pub mod decode;
44
45#[macro_use]
46pub mod types;
47
48#[macro_use]
49pub mod query;
50
51#[macro_use]
52pub mod acquire;
53
54#[macro_use]
55pub mod column;
56
57#[macro_use]
58pub mod statement;
59
60mod common;
61pub use either::Either;
62pub mod database;
63pub mod describe;
64pub mod executor;
65pub mod from_row;
66mod io;
67mod logger;
68mod net;
69pub mod query_as;
70pub mod query_builder;
71pub mod query_scalar;
72pub mod row;
73pub mod type_info;
74pub mod value;
75
76#[cfg(feature = "migrate")]
77pub mod migrate;
78
79#[cfg(all(
80 any(
81 feature = "postgres",
82 feature = "mysql",
83 feature = "mssql",
84 feature = "sqlite"
85 ),
86 feature = "any"
87))]
88pub mod any;
89
90#[cfg(feature = "postgres")]
91#[cfg_attr(docsrs, doc(cfg(feature = "postgres")))]
92pub mod postgres;
93
94#[cfg(feature = "sqlite")]
95#[cfg_attr(docsrs, doc(cfg(feature = "sqlite")))]
96pub mod sqlite;
97
98#[cfg(feature = "mysql")]
99#[cfg_attr(docsrs, doc(cfg(feature = "mysql")))]
100pub mod mysql;
101
102#[cfg(feature = "mssql")]
103#[cfg_attr(docsrs, doc(cfg(feature = "mssql")))]
104pub mod mssql;
105
106#[cfg(feature = "migrate")]
108pub mod testing;
109
110pub use sqlx_rt::test_block_on;
111
112use ahash::AHashMap as HashMap;
114