@Override
    public String getDatabaseVersion() {
        String version = serverVersion.get();
        if (version.isEmpty()) {
            // blocking here
            try (ClickHouseResponse resp = client.read(server).query("SELECT version()").executeAndWait()) {
                version = resp.firstRecord().getValue(0).asString();
                if (!serverVersion.compareAndSet("", version)) {
                    return serverVersion.get();
                }
            } catch (Exception e) {
                log.error("While fetching server version, error occured.", e);
            }
        }
        return version;
    }
Blocking operation. Queries server version by calling "SELECT version()" statement.

@return non-null server version
clickhouse-r2dbc/src/main/java/com/clickhouse/r2dbc/connection/ClickHouseConnectionMetadata.java