From 3f722d58271b2c5efc8a96374687086bec068128 Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Thu, 9 May 2024 07:17:40 -0300 Subject: [PATCH] core: Extract make_record() function --- core/vdbe.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/core/vdbe.rs b/core/vdbe.rs index ce7a0d7c9..8ec38b0a5 100644 --- a/core/vdbe.rs +++ b/core/vdbe.rs @@ -270,12 +270,9 @@ impl Program { register_start, register_end, } => { - let mut values = Vec::with_capacity(*register_end - *register_start); - for i in *register_start..*register_end { - values.push(crate::types::to_value(&state.registers[i])); - } + let record = make_record(&state.registers, register_end, register_start); state.pc += 1; - return Ok(StepResult::Row(Record::new(values))); + return Ok(StepResult::Row(record)); } Insn::NextAsync { cursor_id } => { let cursor = cursors.get_mut(cursor_id).unwrap(); @@ -342,6 +339,14 @@ impl Program { } } +fn make_record<'a>(registers: &'a [OwnedValue], register_end: &usize, register_start: &usize) -> Record<'a> { + let mut values = Vec::with_capacity(*register_end - *register_start); + for i in *register_start..*register_end { + values.push(crate::types::to_value(®isters[i])); + } + Record::new(values) +} + fn trace_insn(addr: usize, insn: &Insn) { if !log::log_enabled!(log::Level::Trace) { return;