The only way to use this feature is to specify an empty database name in Distributed table definition, but then you get a warning:

```
CREATE TABLE `demo_loan_all` (...) ENGINE=Distributed(test_cluster_two_shards_different_databases, '', demo_loan_01568, cityHash64(id));

<Warning> StorageDistributed (demo_loan_all): Name of remote database is empty. Default database will be used implicitly.
```
{
    if (type == ActionLocks::DistributedSend)
        return monitors_blocker.cancel();
    return {};
}
void StorageDistributed::flushClusterNodesAllData(ContextPtr local_context)
{
    
    auto table_lock = lockForShare(local_context->getCurrentQueryId(), local_context->getSettingsRef().lock_acquire_timeout);
    std::vector<std::shared_ptr<StorageDistributedDirectoryMonitor>> directory_monitors;
    {
        std::lock_guard lock(cluster_nodes_mutex);
        directory_monitors.reserve(cluster_nodes_data.size());
        for (auto & node : cluster_nodes_data)
            directory_monitors.push_back(node.second.directory_monitor);
    }
    
    for (auto & node : directory_monitors)
        node->flushAllData();
}
void StorageDistributed::rename(const String & new_path_to_table_data, const StorageID & new_table_id)