sqlx_utils/types/
query_types.rs

1use super::Database;
2use sqlx::Database as DatabaseTrait;
3
4#[cfg(feature = "any")]
5pub type Query<'a> = sqlx::query::Query<'a, sqlx::Any, sqlx::any::AnyArguments<'a>>;
6
7#[cfg(all(
8    feature = "postgres",
9    not(any(feature = "sqlite", feature = "mysql", feature = "any"))
10))]
11pub type Query<'a> = sqlx::query::Query<'a, sqlx::Postgres, sqlx::postgres::PgArguments>;
12
13#[cfg(all(
14    feature = "mysql",
15    not(any(feature = "sqlite", feature = "any", feature = "postgres"))
16))]
17pub type Query<'a> = sqlx::query::Query<'a, sqlx::MySql, sqlx::mysql::MySqlArguments>;
18
19#[cfg(all(
20    feature = "sqlite",
21    not(any(feature = "any", feature = "mysql", feature = "postgres"))
22))]
23pub type Query<'a> = sqlx::query::Query<'a, sqlx::Sqlite, sqlx::sqlite::SqliteArguments<'a>>;
24
25/// A single SQL query as a prepared statement, mapping results using [`FromRow`](sqlx::FromRow).
26/// Returned by [`query_as()`](sqlx::query_as()) or [`query_as()`](sqlx::query_as!). This is a wrapper [`QueryAs`](sqlx::query::QueryAs) abstracting away
27/// the database into a simpler format using generic `DB` which implements [`Database`](DatabaseTrait)
28pub type QueryAs<'q, T, DB = Database> =
29    sqlx::query::QueryAs<'q, Database, T, <DB as DatabaseTrait>::Arguments<'q>>;
30
31pub type QueryBuilder<'args, DB = Database> = sqlx::QueryBuilder<'args, DB>;