Skip to content

Commit eaa80ff

Browse files
committed
fix: Selecting values from no tables
1 parent 9288890 commit eaa80ff

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

src/data_provider.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use gitql_ast::object::GitQLObject;
77
use gitql_ast::object::Group;
88
use gitql_ast::object::Row;
99
use gitql_ast::value::Value;
10+
use gitql_engine::data_provider::select_values;
1011
use gitql_engine::data_provider::DataProvider;
1112
use gitql_engine::engine_evaluator::evaluate_expression;
1213

@@ -25,11 +26,23 @@ impl DataProvider for FileDataProvider {
2526
fn provide(
2627
&self,
2728
env: &mut Environment,
28-
_table: &str,
29+
table: &str,
2930
fields_names: &[String],
3031
titles: &[String],
3132
fields_values: &[Box<dyn Expression>],
3233
) -> GitQLObject {
34+
let mut groups: Vec<Group> = vec![];
35+
if table.is_empty() {
36+
if let Ok(group) = select_values(env, titles, fields_values) {
37+
groups.push(group);
38+
}
39+
40+
return GitQLObject {
41+
titles: titles.to_vec(),
42+
groups,
43+
};
44+
}
45+
3346
let mut files: Vec<String> = vec![];
3447
for path in self.paths.iter() {
3548
let files_tree = traverse_file_tree(path, &self.excludes);
@@ -41,7 +54,6 @@ impl DataProvider for FileDataProvider {
4154
}
4255
}
4356

44-
let mut groups: Vec<Group> = vec![];
4557
let mut rows: Vec<Row> = vec![];
4658

4759
let names_len = fields_names.len() as i64;

0 commit comments

Comments
 (0)