**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. 
{
    size_t num_key_columns = columns.size();
    if (0 == num_key_columns)
        throw Exception("Logical error: no columns passed to Set::execute method.", ErrorCodes::LOGICAL_ERROR);
    auto res = ColumnUInt8::create();
    ColumnUInt8::Container & vec_res = res->getData();
    vec_res.resize(columns.at(0).column->size());
    if (vec_res.empty())
        return res;
    std::shared_lock lock(rwlock);
    
    if (data_types.empty())
    {
        if (negative)
            memset(vec_res.data(), 1, vec_res.size());
        else
            memset(vec_res.data(), 0, vec_res.size());
        return res;
    }
    checkColumnsNumber(num_key_columns);
    
    ColumnRawPtrs key_columns;