```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)] │
└───────┴───────────────────────────────────────────┘
```
Names additional_required_columns_after_prewhere;
    ssize_t prewhere_step_num = -1;
    ssize_t where_step_num = -1;
    ssize_t having_step_num = -1;
    auto finalize_chain = [&](ExpressionActionsChain & chain)
    {
        if (prewhere_step_num >= 0)
        {
            ExpressionActionsChain::Step & step = *chain.steps.at(prewhere_step_num);
            auto required_columns = prewhere_info->prewhere_actions->getRequiredColumnsNames();
            NameSet required_source_columns(required_columns.begin(), required_columns.end());
            
            
            for (const auto & column : additional_required_columns_after_prewhere)
            {
                if (required_source_columns.contains(column))
                    step.addRequiredOutput(column);
            }
        }
        chain.finalize();
        finalize(chain, prewhere_step_num, where_step_num, having_step_num, query);
        chain.clear();
    };
    {
        ExpressionActionsChain chain(context);
        if (storage && (query.sampleSize() || settings.parallel_replicas_count > 1))
        {
            Names columns_for_sampling = metadata_snapshot->getColumnsRequiredForSampling();
            additional_required_columns_after_prewhere.insert(additional_required_columns_after_prewhere.end(),
                columns_for_sampling.begin(), columns_for_sampling.end());