Skip to content

Commit e89de06

Browse files
committed
Add Clone as supertrait to Statement
1 parent afb3cc5 commit e89de06

File tree

5 files changed

+2
-37
lines changed

5 files changed

+2
-37
lines changed

sqlx-core/src/any/statement.rs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use crate::HashMap;
99
use either::Either;
1010
use std::sync::Arc;
1111

12+
#[derive(Clone)]
1213
pub struct AnyStatement {
1314
#[doc(hidden)]
1415
pub sql: SqlStr,
@@ -23,15 +24,6 @@ pub struct AnyStatement {
2324
impl Statement for AnyStatement {
2425
type Database = Any;
2526

26-
fn to_owned(&self) -> AnyStatement {
27-
AnyStatement {
28-
sql: self.sql.clone(),
29-
column_names: self.column_names.clone(),
30-
parameters: self.parameters.clone(),
31-
columns: self.columns.clone(),
32-
}
33-
}
34-
3527
fn sql_cloned(&self) -> SqlStr {
3628
self.sql.clone()
3729
}

sqlx-core/src/statement.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@ use either::Either;
1717
///
1818
/// Statements can be re-used with any connection and on first-use it will be re-prepared and
1919
/// cached within the connection.
20-
pub trait Statement: Send + Sync {
20+
pub trait Statement: Send + Sync + Clone {
2121
type Database: Database;
2222

23-
/// Creates an owned statement from this statement reference. This copies
24-
/// the original SQL text.
25-
fn to_owned(&self) -> <Self::Database as Database>::Statement;
26-
2723
/// Get the original SQL text used to create this statement.
2824
fn sql_cloned(&self) -> SqlStr;
2925

sqlx-mysql/src/statement.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,6 @@ pub(crate) struct MySqlStatementMetadata {
2626
impl Statement for MySqlStatement {
2727
type Database = MySql;
2828

29-
fn to_owned(&self) -> MySqlStatement {
30-
MySqlStatement {
31-
sql: self.sql.clone(),
32-
metadata: self.metadata.clone(),
33-
}
34-
}
35-
3629
fn sql_cloned(&self) -> SqlStr {
3730
self.sql.clone()
3831
}

sqlx-postgres/src/statement.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,6 @@ pub(crate) struct PgStatementMetadata {
2727
impl Statement for PgStatement {
2828
type Database = Postgres;
2929

30-
fn to_owned(&self) -> PgStatement {
31-
PgStatement {
32-
sql: self.sql.clone(),
33-
metadata: self.metadata.clone(),
34-
}
35-
}
36-
3730
fn sql_cloned(&self) -> SqlStr {
3831
self.sql.clone()
3932
}

sqlx-sqlite/src/statement/mod.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,6 @@ pub struct SqliteStatement {
2727
impl Statement for SqliteStatement {
2828
type Database = Sqlite;
2929

30-
fn to_owned(&self) -> SqliteStatement {
31-
SqliteStatement {
32-
sql: self.sql.clone(),
33-
parameters: self.parameters,
34-
columns: Arc::clone(&self.columns),
35-
column_names: Arc::clone(&self.column_names),
36-
}
37-
}
38-
3930
fn sql_cloned(&self) -> SqlStr {
4031
self.sql.clone()
4132
}

0 commit comments

Comments
 (0)