**Describe what's wrong**

When adding new values to IN operator with tuples, result set is reduced.

<br class="Apple-interchange-newline">

**Does it reproduce on recent release?**

Probably not working since v22.4.2.1-stable
Still not working on v22.7.1.2484-stable

<br class="Apple-interchange-newline">

**How to reproduce**


```
CREATE TABLE ISSUE_EXAMPLE
(
    `THIRDPARTY_ID` String,
    `THIRDPARTY_USER_ID` String,
    `PLATFORM` LowCardinality(String),
    `DATE` Date
)
ENGINE = MergeTree()
PARTITION BY toYYYYMM(DATE)
ORDER BY (PLATFORM, THIRDPARTY_USER_ID, THIRDPARTY_ID)
SETTINGS storage_policy = 'nvme', index_granularity = 2048
```

```
INSERT INTO ISSUE_EXAMPLE VALUES ('17843212264024828', 238040827, 'insta', '2014-07-30'), ('17862693304001575', 238040827, 'insta', '2016-07-09')
```

```
SELECT *
FROM ISSUE_EXAMPLE
WHERE (PLATFORM, THIRDPARTY_USER_ID) IN (('insta', '238040827'))
```
That query returns 2 rows

```
SELECT *
FROM ISSUE_EXAMPLE
WHERE (PLATFORM, THIRDPARTY_USER_ID) IN (('insta', '238040827'), ('insta', '22606518861'))
```
That query returns 0 rows instead of 2. Adding new value to IN should not reduce result set. 
{
    std::lock_guard lock(rwlock);
    if (!data.empty())
        return;
    keys_size = header.size();
    ColumnRawPtrs key_columns;
    key_columns.reserve(keys_size);
    data_types.reserve(keys_size);
    set_elements_types.reserve(keys_size);
    
    Columns materialized_columns;
    
    for (size_t i = 0; i < keys_size; ++i)
    {
        materialized_columns.emplace_back(header.at(i).column->convertToFullColumnIfConst());
        key_columns.emplace_back(materialized_columns.back().get());
        data_types.emplace_back(header.at(i).type);
        set_elements_types.emplace_back(header.at(i).type);
        
        if (const auto * low_cardinality_type = typeid_cast<const DataTypeLowCardinality *>(data_types.back().get()))
        {