public CompletableFuture<InsertResponse> insert(String tableName,
                                                    DataStreamWriter writer,
                                                    ClickHouseFormat format,
                                                    InsertSettings settings) {
        return insert(tableName, Collections.emptyList(), writer, format, settings);
    }
Does an insert request to a server. Data is pushed when a {@link DataStreamWriter#onOutput(OutputStream)} is called.

@param tableName - target table name
@param writer - {@link DataStreamWriter} implementation
@param format - source format
@param settings - operation settings
@return {@code CompletableFuture<InsertResponse>} - a promise to insert response
client-v2/src/main/java/com/clickhouse/client/api/Client.java