```sql
SELECT groupArray(tuple(value)) OVER ()
FROM (select number value from numbers(10))
ORDER BY value ASC;

Received exception from server (version 22.7.1):
Code: 10. DB::Exception: Received from localhost:9000. 
DB::Exception: Not found column value in block. 
There are only columns: groupArray(tuple(value)) OVER (), tuple(value). (NOT_FOUND_COLUMN_IN_BLOCK)
```

without tuple is OK
```sql
SELECT groupArray(value) OVER ()
FROM (select number value from numbers(10))
ORDER BY value ASC;
┌─groupArray(value) OVER ()─┐
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
│ [0,1,2,3,4,5,6,7,8,9]     │
└───────────────────────────┘
```

```sql
SELECT value, groupArray(tuple(value)) OVER ()
FROM (select number value from numbers(10))
ORDER BY value ASC;
┌─value─┬─groupArray(tuple(value)) OVER ()──────────┐
│     0 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     1 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     2 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     3 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     4 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     5 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     6 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     7 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     8 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
│     9 │ [(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)] │
└───────┴───────────────────────────────────────────┘
```
{
    ExpressionActionsChain new_chain(getContext());
    appendSelect(new_chain, false);
    return new_chain.getLastActions();
}
ExpressionAnalysisResult::ExpressionAnalysisResult(
    SelectQueryExpressionAnalyzer & query_analyzer,
    const StorageMetadataPtr & metadata_snapshot,
    bool first_stage_,
    bool second_stage_,
    bool only_types,
    const FilterDAGInfoPtr & filter_info_,
    const FilterDAGInfoPtr & additional_filter,
    const Block & source_header)
    : first_stage(first_stage_)
    , second_stage(second_stage_)
    , need_aggregate(query_analyzer.hasAggregation())
    , has_window(query_analyzer.hasWindow())
    , use_grouping_set_key(query_analyzer.useGroupingSetKey())
{
    
    
    /** First we compose a chain of actions and remember the necessary steps from it.
        *  Regardless of from_stage and to_stage, we will compose a complete sequence of actions to perform optimization and
        *  throw out unnecessary columns based on the entire query. In unnecessary parts of the query, we will not execute subqueries.
        */
    const ASTSelectQuery & query = *query_analyzer.getSelectQuery();
    auto context = query_analyzer.getContext();
    const Settings & settings = context->getSettingsRef();
    const ConstStoragePtr & storage = query_analyzer.storage();