https://s3.amazonaws.com/clickhouse-test-reports/42033/ebdfbf43db5e5eacaff81b4a3dd55c5a285ee025/fuzzer_astfuzzerasan//report.html
How to reproduce:
```
:) create table data_02295 (b Int64, a Int64, grp_aggreg AggregateFunction(groupArrayArray, Array(UInt64))) engine = MergeTree() order by a;
:) set allow_experimental_analyzer=1;
:) SELECT grp_aggreg FROM data_02295 WHERE JSONLength(grp_aggreg, 100, NULL) SETTINGS optimize_aggregation_in_order = 1;
```

CC: @kitaisreal 
{
        return context;
    }
    Block getSampleBlock();
    BlockIO execute() override;
    QueryPlan && extractQueryPlan() &&;
    void addStorageLimits(const StorageLimitsList & storage_limits);
    bool supportsTransactions() const override { return true; }
    bool ignoreLimits() const override { return select_query_options.ignore_limits; }
    bool ignoreQuota() const override { return select_query_options.ignore_quota; }
    void extendQueryLogElemImpl(QueryLogElement & elem, const ASTPtr &, ContextPtr) const override;
    
    void setMergeTreeReadTaskCallbackAndClientInfo(MergeTreeReadTaskCallback && callback);
    
    void setProperClientInfo(size_t replica_number, size_t count_participating_replicas);
private:
    ASTPtr query;
    ContextMutablePtr context;
    SelectQueryOptions select_query_options;
    QueryTreeNodePtr query_tree;
    Planner planner;
};
}