**Describe the issue**
We have a table with URL table engine like described below.
And we want to insert into that table via a remote table function.
And if we used a non-existent column name, clickhouse would produce misleading error messages about that table not existing.

**How to reproduce**
Table ddl:
https://github.com/AlexAkulov/clickhouse-backup/releases/tag/v0.6.2
And if we try to execute query with wrong column name:
```
INSERT INTO TABLE FUNCTION remote('chi-backtest1-backtest1-0-0', 'system.backup_actions') (common) values ('create shard1-xxx');

Code: 60, e.displayText() = DB::Exception: Both table name and UUID are empty (version 20.8.7.15 (official build)
```

**Expected behavior**
Clickhouse would produce an error: "that column does not exist in destination table".

**Error message and/or stacktrace**
```
Code: 60, e.displayText() = DB::Exception: Both table name and UUID are empty (version 20.8.7.15 (official build)
```

{
    const Settings & settings = context.getSettingsRef();
    auto & query = query_ptr->as<ASTInsertQuery &>();
    BlockIO res;
    StoragePtr table = getTable(query);
    auto table_lock = table->lockForShare(context.getInitialQueryId(), context.getSettingsRef().lock_acquire_timeout);
    auto metadata_snapshot = table->getInMemoryMetadataPtr();
    auto query_sample_block = getSampleBlock(query, table, metadata_snapshot);
    if (!query.table_function)
        context.checkAccess(AccessType::INSERT, query.table_id, query_sample_block.getNames());
    bool is_distributed_insert_select = false;
    if (query.select && table->isRemote() && settings.parallel_distributed_insert_select)
    {
        
        std::shared_ptr<StorageDistributed> storage_src;
        auto & select = query.select->as<ASTSelectWithUnionQuery &>();
        auto new_query = std::dynamic_pointer_cast<ASTInsertQuery>(query.clone());
        if (select.list_of_selects->children.size() == 1)
        {
            if (auto * select_query = select.list_of_selects->children.at(0)->as<ASTSelectQuery>())
            {
                JoinedTables joined_tables(Context(context), *select_query);