Skip to content

Commit ada318b

Browse files
authored
Merge pull request #171 from muzarski/statement-reset-params
statement: reset parameters
2 parents 8555d08 + 5576a5f commit ada318b

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

scylla-rust-wrapper/src/statement.rs

+17
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ impl CassStatement {
125125

126126
CassError::CASS_OK
127127
}
128+
129+
fn reset_bound_values(&mut self, count: usize) {
130+
// Clear bound values and resize the vector - all values should be unset.
131+
self.bound_values.clear();
132+
self.bound_values.resize(count, Unset);
133+
}
128134
}
129135

130136
#[no_mangle]
@@ -368,6 +374,17 @@ pub unsafe extern "C" fn cass_statement_set_request_timeout(
368374
CassError::CASS_OK
369375
}
370376

377+
#[no_mangle]
378+
pub unsafe extern "C" fn cass_statement_reset_parameters(
379+
statement_raw: *mut CassStatement,
380+
count: size_t,
381+
) -> CassError {
382+
let statement = ptr_to_ref_mut(statement_raw);
383+
statement.reset_bound_values(count as usize);
384+
385+
CassError::CASS_OK
386+
}
387+
371388
prepare_binders_macro!(@index_and_name CassStatement,
372389
|s: &mut CassStatement, idx, v| s.bind_cql_value(idx, v),
373390
|s: &mut CassStatement, name, v| s.bind_cql_value_by_name(name, v));

0 commit comments

Comments
 (0)