mirror of
https://github.com/launchbadge/sqlx.git
synced 2026-01-31 04:57:31 +00:00
* feat: add get_url to connect options Add a get_url to connect options and implement it for all needed types; include get_filename for sqlite. These changes make it easier to test sqlx. * refactor: use expect with message * refactor: change method name to `to_url_lossy` * fix: remove unused imports
37 lines
934 B
Rust
37 lines
934 B
Rust
use crate::connection::ConnectOptions;
|
|
use crate::error::Error;
|
|
use crate::{PgConnectOptions, PgConnection};
|
|
use futures_core::future::BoxFuture;
|
|
use log::LevelFilter;
|
|
use sqlx_core::Url;
|
|
use std::time::Duration;
|
|
|
|
impl ConnectOptions for PgConnectOptions {
|
|
type Connection = PgConnection;
|
|
|
|
fn from_url(url: &Url) -> Result<Self, Error> {
|
|
Self::parse_from_url(url)
|
|
}
|
|
|
|
fn to_url_lossy(&self) -> Url {
|
|
self.build_url()
|
|
}
|
|
|
|
fn connect(&self) -> BoxFuture<'_, Result<Self::Connection, Error>>
|
|
where
|
|
Self::Connection: Sized,
|
|
{
|
|
Box::pin(PgConnection::establish(self))
|
|
}
|
|
|
|
fn log_statements(mut self, level: LevelFilter) -> Self {
|
|
self.log_settings.log_statements(level);
|
|
self
|
|
}
|
|
|
|
fn log_slow_statements(mut self, level: LevelFilter, duration: Duration) -> Self {
|
|
self.log_settings.log_slow_statements(level, duration);
|
|
self
|
|
}
|
|
}
|