Skip to content

Commit

Permalink
doc: make it clear that ConnectOptions types impl FromStr (#2574)
Browse files Browse the repository at this point in the history
  • Loading branch information
abonander authored Jun 30, 2023
1 parent 3fbc3a3 commit e2ce463
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 27 deletions.
26 changes: 17 additions & 9 deletions sqlx-mysql/src/options/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ pub use ssl_mode::MySqlSslMode;
/// mysql://[host][/database][?properties]
/// ```
///
/// This type also implements [`FromStr`][std::str::FromStr] so you can parse it from a string
/// containing a connection URL and then further adjust options if necessary (see example below).
///
/// ## Properties
///
/// |Parameter|Default|Description|
Expand All @@ -30,13 +33,10 @@ pub use ssl_mode::MySqlSslMode;
/// # Example
///
/// ```rust,no_run
/// # use sqlx_core::error::Error;
/// # use sqlx_core::connection::{Connection, ConnectOptions};
/// # use sqlx_core::mysql::{MySqlConnectOptions, MySqlConnection, MySqlSslMode};
/// #
/// # fn main() {
/// # #[cfg(feature = "_rt")]
/// # sqlx::__rt::test_block_on(async move {
/// # async fn example() -> sqlx::Result<()> {
/// use sqlx::{Connection, ConnectOptions};
/// use sqlx::mysql::{MySqlConnectOptions, MySqlConnection, MySqlPool, MySqlSslMode};
///
/// // URL connection string
/// let conn = MySqlConnection::connect("mysql://root:password@localhost/db").await?;
///
Expand All @@ -47,8 +47,16 @@ pub use ssl_mode::MySqlSslMode;
/// .password("password")
/// .database("db")
/// .connect().await?;
/// # Result::<(), Error>::Ok(())
/// # }).unwrap();
///
/// // Modifying options parsed from a string
/// let mut opts: MySqlConnectOptions = "mysql://root:password@localhost/db".parse()?;
///
/// // Change the log verbosity level for queries.
/// // Information about SQL queries is logged at `DEBUG` level by default.
/// opts.log_statements(log::LevelFilter::Trace);
///
/// let pool = MySqlPool::connect_with(&opts).await?;
/// # Ok(())
/// # }
/// ```
#[derive(Debug, Clone)]
Expand Down
28 changes: 18 additions & 10 deletions sqlx-postgres/src/options/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ mod ssl_mode;
/// postgresql://[user[:password]@][host][:port][/dbname][?param1=value1&...]
/// ```
///
/// This type also implements [`FromStr`][std::str::FromStr] so you can parse it from a string
/// containing a connection URL and then further adjust options if necessary (see example below).
///
/// ## Parameters
///
/// |Parameter|Default|Description|
Expand Down Expand Up @@ -55,13 +58,10 @@ mod ssl_mode;
/// # Example
///
/// ```rust,no_run
/// # use sqlx_core::error::Error;
/// # use sqlx_core::connection::{Connection, ConnectOptions};
/// # use sqlx_core::postgres::{PgConnectOptions, PgConnection, PgSslMode};
/// #
/// # fn main() {
/// # #[cfg(feature = "_rt")]
/// # sqlx::__rt::test_block_on(async move {
/// use sqlx::{Connection, ConnectOptions};
/// use sqlx::postgres::{PgConnectOptions, PgConnection, PgPool, PgSslMode};
///
/// # async fn example() -> sqlx::Result<()> {
/// // URL connection string
/// let conn = PgConnection::connect("postgres://localhost/mydb").await?;
///
Expand All @@ -72,9 +72,17 @@ mod ssl_mode;
/// .username("secret-user")
/// .password("secret-password")
/// .ssl_mode(PgSslMode::Require)
/// .connect().await?;
/// # Result::<(), Error>::Ok(())
/// # }).unwrap();
/// .connect()
/// .await?;
///
/// // Modifying options parsed from a string
/// let mut opts: PgConnectOptions = "postgres://localhost/mydb".parse()?;
///
/// // Change the log verbosity level for queries.
/// // Information about SQL queries is logged at `DEBUG` level by default.
/// opts.log_statements(log::LevelFilter::Trace);
///
/// let pool = PgPool::connect_with(&opts).await?;
/// # }
/// ```
#[derive(Debug, Clone)]
Expand Down
16 changes: 8 additions & 8 deletions sqlx-sqlite/src/options/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ use sqlx_core::IndexMap;
/// A value of `SqliteConnectOptions` can be parsed from a connection URL,
/// as described by [SQLite](https://www.sqlite.org/uri.html).
///
/// This type also implements [`FromStr`][std::str::FromStr] so you can parse it from a string
/// containing a connection URL and then further adjust options if necessary (see example below).
///
/// | URL | Description |
/// | -- | -- |
/// `sqlite::memory:` | Open an in-memory database. |
Expand All @@ -36,20 +39,17 @@ use sqlx_core::IndexMap;
/// # Example
///
/// ```rust,no_run
/// # use sqlx_core::connection::ConnectOptions;
/// # use sqlx_core::error::Error;
/// # use sqlx_sqlite::{SqliteConnectOptions, SqliteJournalMode};
/// # async fn example() -> sqlx::Result<()> {
/// use sqlx::ConnectOptions;
/// use sqlx::sqlite::{SqliteConnectOptions, SqliteJournalMode};
/// use std::str::FromStr;
///
/// # fn main() {
/// # #[cfg(feature = "_rt-async-std")]
/// # sqlx::__rt::test_block_on(async move {
/// let conn = SqliteConnectOptions::from_str("sqlite://data.db")?
/// .journal_mode(SqliteJournalMode::Wal)
/// .read_only(true)
/// .connect().await?;
/// # Result::<(), Error>::Ok(())
/// # }).unwrap();
/// #
/// # Ok(())
/// # }
/// ```
#[derive(Clone, Debug)]
Expand Down

0 comments on commit e2ce463

Please sign in to comment.