Skip to content

Commit 91e818a

Browse files
committed
Continue implementing execute_many in transaction
1 parent 54357cd commit 91e818a

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

src/driver/transaction.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -146,29 +146,22 @@ impl RustTransaction {
146146
"Transaction is already committed or rolled back".into(),
147147
));
148148
}
149-
if parameters.len() == 0 {
149+
if parameters.is_empty() {
150150
return Err(RustPSQLDriverError::DataBaseTransactionError(
151151
"No parameters passed to execute_many".into(),
152152
));
153153
}
154-
let mut vec_parameters: Vec<Box<dyn ToSql + Sync>> =
155-
Vec::with_capacity(parameters[0].len());
156154
for single_parameters in parameters {
157-
for param in single_parameters {
158-
vec_parameters.push(Box::new(param));
159-
}
160-
161155
let statement = db_client_guard.prepare_cached(&querystring).await?;
162156
db_client_guard
163157
.query(
164158
&statement,
165-
&*vec_parameters
159+
&single_parameters
166160
.iter()
167-
.map(|p| &**p as &(dyn ToSql + Sync))
161+
.map(|p| p as &(dyn ToSql + Sync))
168162
.collect::<Vec<_>>(),
169163
)
170164
.await?;
171-
vec_parameters.clear()
172165
}
173166

174167
Ok(())

0 commit comments

Comments
 (0)