22.4.5

```sql
SELECT dummy
FROM cluster(test_cluster_two_shards, system.one)
WHERE dummy IN (
    SELECT dummy
    FROM cluster(test_cluster_two_shards, system.one)
)
LIMIT 1 BY dummy
SETTINGS distributed_product_mode = 'local'


Received exception from server (version 22.4.5):
Code: 43. DB::Exception: Received from localhost:9000. 
DB::Exception: Cannot create column of type Set. (ILLEGAL_TYPE_OF_ARGUMENT)

```

22.3.4.20
```sql
SELECT dummy
FROM cluster(test_cluster_two_shards, system.one)
WHERE dummy IN (
    SELECT dummy
    FROM cluster(test_cluster_two_shards, system.one)
)
LIMIT 1 BY dummy
SETTINGS distributed_product_mode = 'local'

┌─dummy─┐
│     0 │
└───────┘
```
{
            if (name == prewhere_info->prewhere_column_name)
                prewhere_info->remove_prewhere_column = can_remove;
            else if (can_remove)
                columns_to_remove.insert(name);
        }
        columns_to_remove_after_prewhere = std::move(columns_to_remove);
        prewhere_step_num = -1;
    }
    if (where_step_num >= 0)
    {
        where_column_name = query.where()->getColumnName();
        remove_where_filter = chain.steps.at(where_step_num)->required_output.find(where_column_name)->second;
        where_step_num = -1;
    }
    if (having_step_num >= 0)
    {
        having_column_name = query.having()->getColumnName();
        remove_having_filter = chain.steps.at(having_step_num)->required_output.find(having_column_name)->second;
        having_step_num = -1;
    }
}
void ExpressionAnalysisResult::removeExtraColumns() const
{
    if (hasWhere())
        before_where->projectInput();
    if (hasHaving())
        before_having->projectInput();
}
void ExpressionAnalysisResult::checkActions() const