mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-12-30 05:11:13 +00:00
* WIP rt refactors * refactor: break drivers out into separate crates also cleans up significant technical debt
67 lines
1.7 KiB
Rust
67 lines
1.7 KiB
Rust
//! **MySQL** database driver.
|
|
|
|
#[macro_use]
|
|
extern crate sqlx_core;
|
|
|
|
use crate::executor::Executor;
|
|
|
|
pub(crate) use sqlx_core::driver_prelude::*;
|
|
|
|
#[cfg(feature = "any")]
|
|
pub mod any;
|
|
|
|
mod arguments;
|
|
mod collation;
|
|
mod column;
|
|
mod connection;
|
|
mod database;
|
|
mod error;
|
|
mod io;
|
|
mod options;
|
|
mod protocol;
|
|
mod query_result;
|
|
mod row;
|
|
mod statement;
|
|
mod transaction;
|
|
mod type_info;
|
|
pub mod types;
|
|
mod value;
|
|
|
|
#[cfg(feature = "migrate")]
|
|
mod migrate;
|
|
|
|
#[cfg(feature = "migrate")]
|
|
mod testing;
|
|
|
|
pub use arguments::MySqlArguments;
|
|
pub use column::MySqlColumn;
|
|
pub use connection::MySqlConnection;
|
|
pub use database::MySql;
|
|
pub use error::MySqlDatabaseError;
|
|
pub use options::{MySqlConnectOptions, MySqlSslMode};
|
|
pub use query_result::MySqlQueryResult;
|
|
pub use row::MySqlRow;
|
|
pub use statement::MySqlStatement;
|
|
pub use transaction::MySqlTransactionManager;
|
|
pub use type_info::MySqlTypeInfo;
|
|
pub use value::{MySqlValue, MySqlValueFormat, MySqlValueRef};
|
|
|
|
/// An alias for [`Pool`][crate::pool::Pool], specialized for MySQL.
|
|
pub type MySqlPool = crate::pool::Pool<MySql>;
|
|
|
|
/// An alias for [`PoolOptions`][crate::pool::PoolOptions], specialized for MySQL.
|
|
pub type MySqlPoolOptions = crate::pool::PoolOptions<MySql>;
|
|
|
|
/// An alias for [`Executor<'_, Database = MySql>`][Executor].
|
|
pub trait MySqlExecutor<'c>: Executor<'c, Database = MySql> {}
|
|
impl<'c, T: Executor<'c, Database = MySql>> MySqlExecutor<'c> for T {}
|
|
|
|
// NOTE: required due to the lack of lazy normalization
|
|
impl_into_arguments_for_arguments!(MySqlArguments);
|
|
impl_acquire!(MySql, MySqlConnection);
|
|
impl_column_index_for_row!(MySqlRow);
|
|
impl_column_index_for_statement!(MySqlStatement);
|
|
|
|
// required because some databases have a different handling of NULL
|
|
impl_encode_for_option!(MySql);
|