From c8e398a2384f4a73fbf77898e1e30feaa80659ae Mon Sep 17 00:00:00 2001 From: Yuriy Dupyn <2153100+omedusyo@users.noreply.github.com> Date: Thu, 28 Dec 2023 09:55:42 +0100 Subject: [PATCH] Implement select_columns --- minisql/src/main.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/minisql/src/main.rs b/minisql/src/main.rs index 7c01ff8..63e809e 100644 --- a/minisql/src/main.rs +++ b/minisql/src/main.rs @@ -136,8 +136,17 @@ type Rows = // insert(id, value) fn select_columns(row: &Row, columns: &Vec) -> Row { - // row.column_position - todo!() + // If the index from `columns` is non-existant in `row`, it will just ignore it. + let mut subrow: Row = vec![]; + for column_position in columns { + match row.get(*column_position) { + Some(value) => { + subrow.push(value.clone()) + }, + None => {} + } + } + subrow } // ==============Interpreter================