Skip to content

Commit dfd0ac5

Browse files
authored
feat: add Transaction type aliases (#3658)
1 parent 4590b9c commit dfd0ac5

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

sqlx-mysql/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ pub type MySqlPoolOptions = crate::pool::PoolOptions<MySql>;
6060
pub trait MySqlExecutor<'c>: Executor<'c, Database = MySql> {}
6161
impl<'c, T: Executor<'c, Database = MySql>> MySqlExecutor<'c> for T {}
6262

63+
/// An alias for [`Transaction`][crate::transaction::Transaction], specialized for MySQL.
64+
pub type MySqlTransaction<'c> = crate::transaction::Transaction<'c, MySql>;
65+
6366
// NOTE: required due to the lack of lazy normalization
6467
impl_into_arguments_for_arguments!(MySqlArguments);
6568
impl_acquire!(MySql, MySqlConnection);

sqlx-postgres/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ pub type PgPoolOptions = crate::pool::PoolOptions<Postgres>;
7070
pub trait PgExecutor<'c>: Executor<'c, Database = Postgres> {}
7171
impl<'c, T: Executor<'c, Database = Postgres>> PgExecutor<'c> for T {}
7272

73+
/// An alias for [`Transaction`][crate::transaction::Transaction], specialized for Postgres.
74+
pub type PgTransaction<'c> = crate::transaction::Transaction<'c, Postgres>;
75+
7376
impl_into_arguments_for_arguments!(PgArguments);
7477
impl_acquire!(Postgres, PgConnection);
7578
impl_column_index_for_row!(PgRow);

sqlx-sqlite/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ pub type SqlitePoolOptions = crate::pool::PoolOptions<Sqlite>;
105105
pub trait SqliteExecutor<'c>: Executor<'c, Database = Sqlite> {}
106106
impl<'c, T: Executor<'c, Database = Sqlite>> SqliteExecutor<'c> for T {}
107107

108+
/// An alias for [`Transaction`][sqlx_core::transaction::Transaction], specialized for SQLite.
109+
pub type SqliteTransaction<'c> = sqlx_core::transaction::Transaction<'c, Sqlite>;
110+
108111
// NOTE: required due to the lack of lazy normalization
109112
impl_into_arguments_for_arguments!(SqliteArguments<'q>);
110113
impl_column_index_for_row!(SqliteRow);

src/lib.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,23 @@ pub use sqlx_core::migrate;
3737
#[cfg(feature = "mysql")]
3838
#[cfg_attr(docsrs, doc(cfg(feature = "mysql")))]
3939
#[doc(inline)]
40-
pub use sqlx_mysql::{self as mysql, MySql, MySqlConnection, MySqlExecutor, MySqlPool};
40+
pub use sqlx_mysql::{
41+
self as mysql, MySql, MySqlConnection, MySqlExecutor, MySqlPool, MySqlTransaction,
42+
};
4143

4244
#[cfg(feature = "postgres")]
4345
#[cfg_attr(docsrs, doc(cfg(feature = "postgres")))]
4446
#[doc(inline)]
45-
pub use sqlx_postgres::{self as postgres, PgConnection, PgExecutor, PgPool, Postgres};
47+
pub use sqlx_postgres::{
48+
self as postgres, PgConnection, PgExecutor, PgPool, PgTransaction, Postgres,
49+
};
4650

4751
#[cfg(feature = "_sqlite")]
4852
#[cfg_attr(docsrs, doc(cfg(feature = "_sqlite")))]
4953
#[doc(inline)]
50-
pub use sqlx_sqlite::{self as sqlite, Sqlite, SqliteConnection, SqliteExecutor, SqlitePool};
54+
pub use sqlx_sqlite::{
55+
self as sqlite, Sqlite, SqliteConnection, SqliteExecutor, SqlitePool, SqliteTransaction,
56+
};
5157

5258
#[cfg(feature = "any")]
5359
#[cfg_attr(docsrs, doc(cfg(feature = "any")))]

0 commit comments

Comments
 (0)