pub fn execute_statement(
env: &mut Environment,
statement: &Box<dyn Statement>,
data_provider: &Box<dyn DataProvider>,
gitql_object: &mut GitQLObject,
alias_table: &mut HashMap<String, String>,
hidden_selection: &HashMap<String, Vec<String>>,
has_group_by_statement: bool,
) -> Result<(), String>