mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 08:32:02 +00:00
dbms: Server: queries with several replicas: development [#METR-14410]
This commit is contained in:
parent
60430d7ddc
commit
441e6e5bb0
@ -28,11 +28,11 @@ public:
|
||||
typedef PoolBase<Connection>::Entry Entry;
|
||||
virtual Entry get(Settings * settings = nullptr) = 0;
|
||||
|
||||
/** Выделяет до указанного количества соединений для работы.
|
||||
/** Выделяет до указанного количества соединений для работы.
|
||||
* Соединения предоставляют доступ к разным репликам одного шарда.
|
||||
* Выкидывает исключение, если не удалось выделить ни одного соединения.
|
||||
*/
|
||||
virtual std::vector<Entry> getMany(Settings * settings = nullptr)
|
||||
virtual std::vector<Entry> getMany(Settings * settings = nullptr)
|
||||
{
|
||||
return std::vector<Entry>{ get(settings) };
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ public:
|
||||
return Base::get(settings);
|
||||
}
|
||||
|
||||
/** Выделяет до указанного количества соединений для работы.
|
||||
/** Выделяет до указанного количества соединений для работы.
|
||||
* Соединения предоставляют доступ к разным репликам одного шарда.
|
||||
*/
|
||||
std::vector<Entry> getMany(Settings * settings = nullptr) override
|
||||
|
@ -271,6 +271,7 @@ namespace ErrorCodes
|
||||
UNKNOWN_BLOCK_INFO_FIELD,
|
||||
BAD_COLLATION,
|
||||
CANNOT_COMPILE_CODE,
|
||||
INCOMPATIBLE_TYPE_OF_JOIN,
|
||||
NO_AVAILABLE_REPLICA,
|
||||
UNEXPECTED_REPLICA,
|
||||
MISMATCH_REPLICAS_DATA_SOURCES,
|
||||
|
@ -179,7 +179,7 @@ protected:
|
||||
if (use_many_replicas)
|
||||
shard_replicas->sendQuery(query, "", stage, true);
|
||||
else
|
||||
connection->sendQuery(query, "", stage, send_settings ? &settings : nullptr, true);
|
||||
connection->sendQuery(query, "", stage, send_settings ? &settings : nullptr, true);
|
||||
|
||||
sendExternalTables();
|
||||
sent_query = true;
|
||||
|
@ -101,7 +101,7 @@ void InterpreterSelectQuery::basicInit(BlockInputStreamPtr input_, const NamesAn
|
||||
}
|
||||
|
||||
if (!storage->supportsParallelReplicas() && (settings.parallel_replicas_count > 0))
|
||||
throw Exception("Storage engine " + storage->getName()
|
||||
throw Exception("Storage engine " + storage->getName()
|
||||
+ " does not support parallel execution on several replicas",
|
||||
ErrorCodes::STORAGE_DOESNT_SUPPORT_PARALLEL_REPLICAS);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user