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================