public CompletableFuture<Records> queryRecords(String sqlQuery, Map<String, Object> params, QuerySettings settings) {
        if (settings == null) {
            settings = new QuerySettings();
        }
        settings.setFormat(ClickHouseFormat.RowBinaryWithNamesAndTypes);
        settings.waitEndOfQuery(true); // we rely on the summery

        return query(sqlQuery, params, settings).thenApply(response -> {
            try {

                return new Records(response, newBinaryFormatReader(response));
            } catch (Exception e) {
                throw new ClientException("Failed to get query response", e);
            }
        });
    }
<p>Queries data in one of descriptive format and creates a reader out of the response stream.</p>
<p>Format is selected internally so is ignored when passed in settings. If query contains format
statement then it may cause incompatibility error.</p>
See {@link #query(String, Map, QuerySettings)} for parametrized queries.
@param sqlQuery - SQL statement
@param params - sql parameters
@param settings - operation settings
@return - a promise to a result
client-v2/src/main/java/com/clickhouse/client/api/Client.java