static CompletableFuture<ClickHouseResponseSummary> load(ClickHouseNode server, String table, InputStream input,
            ClickHouseCompression compression, ClickHouseFormat format) {
        if (server == null || table == null || input == null) {
            throw new IllegalArgumentException("Non-null server, table, and input are required");
        }

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

        return submit(() -> {
            try (ClickHouseClient client = newInstance(theServer.getProtocol());
                    ClickHouseResponse response = client.write(theServer).table(table).data(input)
                            .decompressClientRequest(compression).format(format).executeAndWait()) {
                return response.getSummary();
            } finally {
                try {
                    input.close();
                } catch (IOException e) {
                    // ignore
                }
            }
        });
    }
Loads data from input stream into a table using specified format and
compression algorithm.

@param server      non-null server to connect to
@param table       non-null target table
@param input       input stream, which will be closed automatically at the
                   end of the call
@param compression compression algorithm to use
@param format      input format to use
@return future object to get result
@throws IllegalArgumentException if any of server, table, and input is null
@throws CompletionException      when error occurred during execution
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseClient.java