diff --git a/clickhouse/client.cpp b/clickhouse/client.cpp index cf21e46e..132fd47b 100644 --- a/clickhouse/client.cpp +++ b/clickhouse/client.cpp @@ -1354,6 +1354,10 @@ void Client::SelectWithExternalDataCancelable(const std::string& query, const st impl_->SelectWithExternalData(Query(query, query_id).OnDataCancelable(std::move(cb)), external_tables); } +void Client::SelectWithExternalData(const Query& query, const ExternalTables& external_tables) { + impl_->SelectWithExternalData(query, external_tables); +} + void Client::BeginExecute(const Query& query) { impl_->BeginExecuteQuery(query); } diff --git a/clickhouse/client.h b/clickhouse/client.h index c2608ca3..4cc9b832 100644 --- a/clickhouse/client.h +++ b/clickhouse/client.h @@ -270,6 +270,10 @@ class Client { void SelectWithExternalDataCancelable(const std::string& query, const ExternalTables& external_tables, SelectCancelableCallback cb); void SelectWithExternalDataCancelable(const std::string& query, const std::string& query_id, const ExternalTables& external_tables, SelectCancelableCallback cb); + /// Same as SelectWithExternalData but takes a fully-configured Query + /// (settings, params, callbacks, query_id, OnData) instead of a bare string. + void SelectWithExternalData(const Query& query, const ExternalTables& external_tables); + /// EXPERIMENTAL. Intends for execute arbitrary queries while reading the data interactively with /// NextBlock(). void BeginExecute(const Query& query);