diff --git a/minisql/src/schema.rs b/minisql/src/schema.rs index 570d81d..10e542f 100644 --- a/minisql/src/schema.rs +++ b/minisql/src/schema.rs @@ -59,10 +59,16 @@ impl TableSchema { } pub fn get_columns(&self) -> Vec<&ColumnName> { - self.column_name_position_mapping + let mut columns_in_random_order: Vec<_> = self.column_name_position_mapping .iter() - .map(|(name, _)| name) - .collect() + .collect(); + columns_in_random_order.sort_by(|&(_, column0), &(_, column1)| column0.cmp(column1)); + + let columns: Vec<_> = columns_in_random_order + .iter() + .map(|(name, _)| *name) + .collect(); + columns } pub fn does_column_exist(&self, column_name: &ColumnName) -> bool {