diff --git a/README.md b/README.md
index 14d965837d..e713c96690 100644
--- a/README.md
+++ b/README.md
@@ -10,27 +10,20 @@
@@ -82,8 +75,8 @@ SQLx is an async, pure Rust† SQL crate featuring compile-time check
† The SQLite driver uses the libsqlite3 C library as SQLite is an embedded database (the only way
we could be pure Rust for SQLite is by porting _all_ of SQLite to Rust).
-†† SQLx uses `#![forbid(unsafe_code)]` unless the `sqlite` feature is enabled. As the SQLite driver interacts
-with C, those interactions are `unsafe`.
+†† SQLx uses `#![forbid(unsafe_code)]` unless the `sqlite` feature is enabled.
+The SQLite driver directly invokes the SQLite3 API via `libsqlite3-sys`, which requires `unsafe`.
diff --git a/sqlx-core/src/from_row.rs b/sqlx-core/src/from_row.rs
index 234dd94176..a6129b9611 100644
--- a/sqlx-core/src/from_row.rs
+++ b/sqlx-core/src/from_row.rs
@@ -91,7 +91,7 @@ use crate::{error::Error, row::Row};
/// will set the value of the field `location` to the default value of `Option`,
/// which is `None`.
///
-/// Moreover, if the struct has an implementation for [`Default`], you can use the `default``
+/// Moreover, if the struct has an implementation for [`Default`], you can use the `default`
/// attribute at the struct level rather than for each single field. If a field does not appear in the result,
/// its value is taken from the `Default` implementation for the struct.
/// For example:
diff --git a/sqlx-core/src/net/mod.rs b/sqlx-core/src/net/mod.rs
index 3c75f32c92..f9c43668ab 100644
--- a/sqlx-core/src/net/mod.rs
+++ b/sqlx-core/src/net/mod.rs
@@ -1,4 +1,6 @@
mod socket;
pub mod tls;
-pub use socket::{connect_tcp, connect_uds, BufferedSocket, Socket, SocketIntoBox, WithSocket};
+pub use socket::{
+ connect_tcp, connect_uds, BufferedSocket, Socket, SocketIntoBox, WithSocket, WriteBuffer,
+};
diff --git a/sqlx-core/src/net/socket/mod.rs b/sqlx-core/src/net/socket/mod.rs
index f11c10dedd..076aa9a3e3 100644
--- a/sqlx-core/src/net/socket/mod.rs
+++ b/sqlx-core/src/net/socket/mod.rs
@@ -244,6 +244,8 @@ pub async fn connect_uds, Ws: WithSocket>(
) -> crate::Result {
#[cfg(not(unix))]
{
+ drop((path, with_socket));
+
return Err(io::Error::new(
io::ErrorKind::Unsupported,
"Unix domain sockets are not supported on this platform",
@@ -270,7 +272,7 @@ pub async fn connect_uds, Ws: WithSocket>(
return Ok(with_socket.with_socket(stream));
}
- #[cfg(not(feature = "_rt-async-std"))]
+ #[cfg(all(unix, not(feature = "_rt-async-std")))]
{
crate::rt::missing_rt((path, with_socket))
}
diff --git a/sqlx-postgres/src/copy.rs b/sqlx-postgres/src/copy.rs
index f5a6ea8573..c6daea7774 100644
--- a/sqlx-postgres/src/copy.rs
+++ b/sqlx-postgres/src/copy.rs
@@ -221,10 +221,6 @@ impl> PgCopyIn {
}
let conn: &mut PgConnection = self.conn.as_deref_mut().expect("copy_from: conn taken");
-
- // flush any existing messages in the buffer and clear it
- conn.stream.flush().await?;
-
loop {
let buf = conn.stream.write_buffer_mut();
diff --git a/sqlx-postgres/src/message/mod.rs b/sqlx-postgres/src/message/mod.rs
index 6e7daad239..ef1dbfabf0 100644
--- a/sqlx-postgres/src/message/mod.rs
+++ b/sqlx-postgres/src/message/mod.rs
@@ -37,6 +37,7 @@ pub use copy::{CopyData, CopyDone, CopyFail, CopyResponse};
pub use data_row::DataRow;
pub use describe::Describe;
pub use execute::Execute;
+#[allow(unused_imports)]
pub use flush::Flush;
pub use notification::Notification;
pub use parameter_description::ParameterDescription;