static CompletableFuture<List<ClickHouseResponseSummary>> send(ClickHouseNode server, String sql, String... more) {
        if (server == null || sql == null || more == null) {
            throw new IllegalArgumentException("Non-null server and sql are required");
        }

        // in case the protocol is ANY
        final ClickHouseNode theServer = server.probe();

        List<String> queries = new ArrayList<>(more.length + 1);
        if (!ClickHouseChecker.isNullOrBlank(sql)) {
            queries.add(sql);
        }
        for (String query : more) {
            if (!ClickHouseChecker.isNullOrBlank(query)) {
                queries.add(query);
            }
        }
        if (queries.isEmpty()) {
            throw new IllegalArgumentException("At least one non-blank query is required");
        }

        return submit(() -> {
            List<ClickHouseResponseSummary> list = new ArrayList<>(queries.size());

            // set async to false so that we don't have to create additional thread
            try (ClickHouseClient client = ClickHouseClient.builder()
                    .nodeSelector(ClickHouseNodeSelector.of(theServer.getProtocol()))
                    .option(ClickHouseClientOption.ASYNC, false).build()) {
                ClickHouseRequest<?> request = client.read(theServer).format(ClickHouseFormat.RowBinary);
                if ((boolean) ClickHouseDefaults.AUTO_SESSION.getEffectiveDefaultValue() && queries.size() > 1) {
                    request.session(request.getManager().createSessionId(), false);
                }
                for (String query : queries) {
                    try (ClickHouseResponse resp = request.query(query).executeAndWait()) {
                        list.add(resp.getSummary());
                    }
                }
            }

            return list;
        });
    }
Sends one or more SQL queries to specified server, and execute them one by
one. Session will be created automatically if there's more than one SQL
query.

@param server non-null server to connect to
@param sql    non-null SQL query
@param more   more SQL queries if any
@return list of {@link ClickHouseResponseSummary} one for each execution
@throws IllegalArgumentException if server or sql is null
@throws CompletionException      when error occurred during execution
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseClient.java