def METHOD_NAME(self, data_source: ProcessableQuery[Table]) -> None:
    time_range = _get_date_range(data_source)
    if time_range and (
        self.__max_time_range is None or time_range > self.__max_time_range
    ):
        self.__max_time_range = time_range
    self.__has_complex_conditions = (
        self.__has_complex_conditions | self.__find_complex_conditions(data_source)
    )
    table_name = data_source.get_from_clause().table_name
    self.__all_raw_columns[table_name] = {
        c for c in data_source.get_all_ast_referenced_columns()
    }
    condition = data_source.get_condition()
    if condition is not None:
        self.__all_conditions[table_name] = condition
    self.__all_groupby[table_name] = set(data_source.get_groupby())
    self.__all_array_joins[table_name] = self._list_array_join(data_source)
    self.visit(data_source.get_from_clause())