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::parse_from_url(url) } fn to_url_lossy(&self) -> Url { self.build_url() } fn connect(&self) -> BoxFuture<'_, Result> 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 } }