use std::sync::Arc;
pub enum StreamConnection<'a> {
#[cfg(feature = "sqlite")]
Sqlite(Arc<turso::Connection>),
#[cfg(feature = "postgresql")]
PostgreSQL(&'a tokio_postgres::Client),
#[cfg(feature = "mysql")]
MySQL(mysql_async::Conn),
#[cfg(feature = "mssql")]
MSSQL(&'a tiberius::Client<tokio_util::compat::Compat<tokio::net::TcpStream>>),
#[doc(hidden)]
#[allow(dead_code)]
__Phantom(std::marker::PhantomData<&'a ()>),
}
impl<'a> Drop for StreamConnection<'a> {
fn drop(&mut self) {
match self {
#[cfg(feature = "sqlite")]
StreamConnection::Sqlite(_) => {
}
#[cfg(feature = "postgresql")]
StreamConnection::PostgreSQL(_) => {
}
#[cfg(feature = "mysql")]
StreamConnection::MySQL(conn) => {
let _ = conn;
}
#[cfg(feature = "mssql")]
StreamConnection::MSSQL(_) => {
}
StreamConnection::__Phantom(_) => {}
}
}
}