Skip to content

Commit c3f788b

Browse files
committed
refactor(any): Change AnyArguments::convert_to to convert_into
Signed-off-by: Joshua Potts <8704475+iamjpotts@users.noreply.github.com>
1 parent dd2fc99 commit c3f788b

File tree

4 files changed

+11
-12
lines changed

4 files changed

+11
-12
lines changed

sqlx-core/src/any/arguments.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ impl Default for AnyArguments<'_> {
4242

4343
impl<'q> AnyArguments<'q> {
4444
#[doc(hidden)]
45-
pub fn convert_to<'a, A: Arguments<'a>>(&'a self) -> Result<A, BoxDynError>
45+
pub fn convert_into<'a, A: Arguments<'a>>(self) -> Result<A, BoxDynError>
4646
where
4747
'q: 'a,
4848
Option<i32>: Type<A::Database> + Encode<'a, A::Database>,
@@ -60,12 +60,12 @@ impl<'q> AnyArguments<'q> {
6060
i64: Type<A::Database> + Encode<'a, A::Database>,
6161
f32: Type<A::Database> + Encode<'a, A::Database>,
6262
f64: Type<A::Database> + Encode<'a, A::Database>,
63-
&'a str: Type<A::Database> + Encode<'a, A::Database>,
64-
&'a [u8]: Type<A::Database> + Encode<'a, A::Database>,
63+
String: Type<A::Database> + Encode<'a, A::Database>,
64+
Vec<u8>: Type<A::Database> + Encode<'a, A::Database>,
6565
{
6666
let mut out = A::default();
6767

68-
for arg in &self.values.0 {
68+
for arg in self.values.0 {
6969
match arg {
7070
AnyValueKind::Null(AnyTypeInfoKind::Null) => out.add(Option::<i32>::None),
7171
AnyValueKind::Null(AnyTypeInfoKind::Bool) => out.add(Option::<bool>::None),
@@ -82,8 +82,8 @@ impl<'q> AnyArguments<'q> {
8282
AnyValueKind::BigInt(i) => out.add(i),
8383
AnyValueKind::Real(r) => out.add(r),
8484
AnyValueKind::Double(d) => out.add(d),
85-
AnyValueKind::Text(t) => out.add(&**t),
86-
AnyValueKind::Blob(b) => out.add(&**b),
85+
AnyValueKind::Text(t) => out.add(String::from(t)),
86+
AnyValueKind::Blob(b) => out.add(Vec::from(b)),
8787
}?
8888
}
8989
Ok(out)

sqlx-mysql/src/any.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ impl AnyConnectionBackend for MySqlConnection {
8484
arguments: Option<AnyArguments<'q>>,
8585
) -> BoxStream<'q, sqlx_core::Result<Either<AnyQueryResult, AnyRow>>> {
8686
let persistent = persistent && arguments.is_some();
87-
let arguments = match arguments.as_ref().map(AnyArguments::convert_to).transpose() {
87+
let arguments = match arguments.map(AnyArguments::convert_into).transpose() {
8888
Ok(arguments) => arguments,
8989
Err(error) => {
9090
return stream::once(future::ready(Err(sqlx_core::Error::Encode(error)))).boxed()
@@ -111,8 +111,7 @@ impl AnyConnectionBackend for MySqlConnection {
111111
) -> BoxFuture<'q, sqlx_core::Result<Option<AnyRow>>> {
112112
let persistent = persistent && arguments.is_some();
113113
let arguments = arguments
114-
.as_ref()
115-
.map(AnyArguments::convert_to)
114+
.map(AnyArguments::convert_into)
116115
.transpose()
117116
.map_err(sqlx_core::Error::Encode);
118117

sqlx-postgres/src/any.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ impl AnyConnectionBackend for PgConnection {
8686
arguments: Option<AnyArguments<'q>>,
8787
) -> BoxStream<'q, sqlx_core::Result<Either<AnyQueryResult, AnyRow>>> {
8888
let persistent = persistent && arguments.is_some();
89-
let arguments = match arguments.as_ref().map(AnyArguments::convert_to).transpose() {
89+
let arguments = match arguments.map(AnyArguments::convert_into).transpose() {
9090
Ok(arguments) => arguments,
9191
Err(error) => {
9292
return stream::once(future::ready(Err(sqlx_core::Error::Encode(error)))).boxed()
@@ -113,8 +113,7 @@ impl AnyConnectionBackend for PgConnection {
113113
) -> BoxFuture<'q, sqlx_core::Result<Option<AnyRow>>> {
114114
let persistent = persistent && arguments.is_some();
115115
let arguments = arguments
116-
.as_ref()
117-
.map(AnyArguments::convert_to)
116+
.map(AnyArguments::convert_into)
118117
.transpose()
119118
.map_err(sqlx_core::Error::Encode);
120119

sqlx-sqlite/src/any.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ impl<'a> TryFrom<&'a AnyConnectOptions> for SqliteConnectOptions {
205205
}
206206
}
207207

208+
// Infallible alternative to AnyArguments::convert_into()
208209
fn map_arguments(args: AnyArguments<'_>) -> SqliteArguments {
209210
let values = args
210211
.values

0 commit comments

Comments
 (0)