diff --git a/core/lib.rs b/core/lib.rs index 2150ba224..2f5d11dae 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -636,7 +636,7 @@ impl Statement { } pub fn bind_at(&mut self, index: NonZero, value: OwnedValue) { - let internal = self.program.parameters.get_remap(index); + let internal = self.program.parameters.get_remapped_value(index); self.state.bind_at(internal, value); } diff --git a/core/parameters.rs b/core/parameters.rs index 1d05ce8d0..0b381dedf 100644 --- a/core/parameters.rs +++ b/core/parameters.rs @@ -51,11 +51,11 @@ impl Parameters { params.len() } - pub fn set_remap(&mut self, remap: Vec>) { + pub fn set_parameter_remap(&mut self, remap: Vec>) { self.remap = remap; } - pub fn get_remap(&self, idx: NonZero) -> NonZero { + pub fn get_remapped_value(&self, idx: NonZero) -> NonZero { *self.remap.get(idx.get() - 1).unwrap_or(&idx) } diff --git a/core/translate/insert.rs b/core/translate/insert.rs index 96e1dac3b..32c604969 100644 --- a/core/translate/insert.rs +++ b/core/translate/insert.rs @@ -606,6 +606,7 @@ fn populate_column_registers( } else { target_reg }; + // set the value index to make it available to the translator program.current_col_idx = Some(value_index); translate_expr_no_constant_opt( program, diff --git a/core/vdbe/builder.rs b/core/vdbe/builder.rs index a748f32b3..d8e274944 100644 --- a/core/vdbe/builder.rs +++ b/core/vdbe/builder.rs @@ -115,7 +115,7 @@ impl ProgramBuilder { pub fn set_param_remap(&mut self, remap: Option>>) { if let Some(remap) = remap { - self.parameters.set_remap(remap); + self.parameters.set_parameter_remap(remap); } }