dbms: Server: add support for multiple connections in PoolWithFailoverBase. [#METR-14410]

This commit is contained in:
Alexey Arno 2014-12-30 17:11:02 +03:00
parent d0624dfd61
commit 2359d02472
2 changed files with 4 additions and 10 deletions

View File

@ -28,11 +28,7 @@ public:
typedef PoolBase<Connection>::Entry Entry; typedef PoolBase<Connection>::Entry Entry;
virtual Entry get(Settings * settings = nullptr) = 0; virtual Entry get(Settings * settings = nullptr) = 0;
/** Выделяет до указанного количества соединений для работы. virtual std::vector<Entry> getMany(unsigned max_connections, Settings * settings = nullptr)
* Соединения предоставляют доступ к разным репликам одного шарда.
* Выкидывает исключение, если не удалось выделить ни одного соединения.
*/
virtual std::vector<Entry> getMany(Settings * settings = nullptr)
{ {
return std::vector<Entry>{ get(settings) }; return std::vector<Entry>{ get(settings) };
} }

View File

@ -57,13 +57,11 @@ public:
return Base::get(settings); return Base::get(settings);
} }
/** Выделяет до указанного количества соединений для работы. /** Выделяет до указанного количества соединений. */
* Соединения предоставляют доступ к разным репликам одного шарда. std::vector<Entry> getMany(unsigned max_connections, Settings * settings = nullptr) override
*/
std::vector<Entry> getMany(Settings * settings = nullptr) override
{ {
applyLoadBalancing(settings); applyLoadBalancing(settings);
return Base::getMany(settings); return Base::getMany(max_connections, settings);
} }
protected: protected: