If name of key column equals in both tables in Storage Join `JOIN ON` trows an error:

```
:) CREATE TABLE t1 (x String) ENGINE = TinyLog;

:) CREATE TABLE t2 (x String) ENGINE = Join(ALL, INNER, x);

:) select * from t1 join t2 USING(x);

Ok.

0 rows in set. Elapsed: 0.036 sec.

:) select * from t1 join t2 ON (t1.x == t2.x);

0 rows in set. Elapsed: 0.026 sec.

Received exception from server (version 21.3.1):
Code: 8. DB::Exception: Received from localhost:9000. DB::Exception: Cannot find column `t2.x` in source stream.

```

If secondary column name match we tables cannot be joined with `USING` too:

```
:) CREATE TABLE t1 (x String, y String) ENGINE = TinyLog;

:) CREATE TABLE t2 (x String, y String) ENGINE = Join(ALL, INNER, x);

:) select * from t1 join t2 USING(x);


0 rows in set. Elapsed: 0.027 sec.

Received exception from server (version 21.3.1):
Code: 8. DB::Exception: Received from localhost:9000. DB::Exception: Cannot find column `t2.y` in source stream.

```
{
        if (storage_join_lock.mutex())
            throw DB::Exception("addJoinedBlock called when HashJoin locked to prevent updates",
                                ErrorCodes::LOGICAL_ERROR);
        data->blocks.emplace_back(std::move(structured_block));
        Block * stored_block = &data->blocks.back();
        if (rows)
            data->empty = false;
        if (kind != ASTTableJoin::Kind::Cross)
        {
            joinDispatch(kind, strictness, data->maps, [&](auto kind_, auto strictness_, auto & map)
            {
                size_t size = insertFromBlockImpl<strictness_>(*this, data->type, map, rows, key_columns, key_sizes, stored_block, null_map, data->pool);
                
                used_flags.reinit<kind_, strictness_>(size + 1);
            });
        }
        if (save_nullmap)
            data->blocks_nullmaps.emplace_back(stored_block, null_map_holder);
        if (!check_limits)
            return true;
        
        total_rows = getTotalRowCount();
        total_bytes = getTotalByteCount();
    }
    return table_join->sizeLimits().check(total_rows, total_bytes, "JOIN", ErrorCodes::SET_SIZE_LIMIT_EXCEEDED);
}
namespace
{
class AddedColumns