mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 15:42:02 +00:00
Addition to prev. revision [#CLICKHOUSE-2716].
This commit is contained in:
parent
a86a86aa68
commit
d26f045819
@ -1,10 +1,13 @@
|
||||
add_library (mysqlxx
|
||||
src/Connection.cpp
|
||||
src/Exception.cpp
|
||||
src/Query.cpp
|
||||
src/ResultBase.cpp
|
||||
src/StoreQueryResult.cpp
|
||||
src/UseQueryResult.cpp
|
||||
src/Row.cpp
|
||||
src/Value.cpp
|
||||
src/Pool.cpp
|
||||
src/PoolWithFailover.cpp
|
||||
|
||||
include/mysqlxx/Connection.h
|
||||
|
@ -172,10 +172,8 @@ public:
|
||||
unsigned default_connections_ = MYSQLXX_POOL_DEFAULT_START_CONNECTIONS,
|
||||
unsigned max_connections_ = MYSQLXX_POOL_DEFAULT_MAX_CONNECTIONS,
|
||||
const char * parent_config_name_ = nullptr)
|
||||
: Pool{
|
||||
Poco::Util::Application::instance().config(), config_name,
|
||||
default_connections_, max_connections_, parent_config_name_
|
||||
}
|
||||
: Pool{Poco::Util::Application::instance().config(), config_name,
|
||||
default_connections_, max_connections_, parent_config_name_}
|
||||
{}
|
||||
|
||||
/**
|
||||
@ -186,39 +184,7 @@ public:
|
||||
Pool(const Poco::Util::AbstractConfiguration & cfg, const std::string & config_name,
|
||||
unsigned default_connections_ = MYSQLXX_POOL_DEFAULT_START_CONNECTIONS,
|
||||
unsigned max_connections_ = MYSQLXX_POOL_DEFAULT_MAX_CONNECTIONS,
|
||||
const char * parent_config_name_ = nullptr)
|
||||
: default_connections(default_connections_), max_connections(max_connections_)
|
||||
{
|
||||
server = cfg.getString(config_name + ".host");
|
||||
|
||||
if (parent_config_name_)
|
||||
{
|
||||
const std::string parent_config_name(parent_config_name_);
|
||||
db = cfg.getString(config_name + ".db", cfg.getString(parent_config_name + ".db", ""));
|
||||
user = cfg.has(config_name + ".user") ?
|
||||
cfg.getString(config_name + ".user") : cfg.getString(parent_config_name + ".user");
|
||||
password = cfg.has(config_name + ".password") ?
|
||||
cfg.getString(config_name + ".password") : cfg.getString(parent_config_name + ".password");
|
||||
port = cfg.has(config_name + ".port") ? cfg.getInt(config_name + ".port") :
|
||||
cfg.getInt(parent_config_name + ".port");
|
||||
}
|
||||
else
|
||||
{
|
||||
db = cfg.getString(config_name + ".db", "");
|
||||
user = cfg.getString(config_name + ".user");
|
||||
password = cfg.getString(config_name + ".password");
|
||||
port = cfg.getInt(config_name + ".port");
|
||||
}
|
||||
|
||||
connect_timeout = cfg.getInt(config_name + ".connect_timeout",
|
||||
cfg.getInt("mysql_connect_timeout",
|
||||
MYSQLXX_DEFAULT_TIMEOUT));
|
||||
|
||||
rw_timeout =
|
||||
cfg.getInt(config_name + ".rw_timeout",
|
||||
cfg.getInt("mysql_rw_timeout",
|
||||
MYSQLXX_DEFAULT_RW_TIMEOUT));
|
||||
}
|
||||
const char * parent_config_name_ = nullptr);
|
||||
|
||||
/**
|
||||
* @param db_ Имя БД
|
||||
|
@ -23,6 +23,46 @@ void Pool::Entry::decrementRefCount()
|
||||
}
|
||||
|
||||
|
||||
Pool::Pool(const Poco::Util::AbstractConfiguration & cfg, const std::string & config_name,
|
||||
unsigned default_connections_, unsigned max_connections_,
|
||||
const char * parent_config_name_)
|
||||
: default_connections(default_connections_), max_connections(max_connections_)
|
||||
{
|
||||
server = cfg.getString(config_name + ".host");
|
||||
|
||||
if (parent_config_name_)
|
||||
{
|
||||
const std::string parent_config_name(parent_config_name_);
|
||||
db = cfg.getString(config_name + ".db", cfg.getString(parent_config_name + ".db", ""));
|
||||
user = cfg.has(config_name + ".user")
|
||||
? cfg.getString(config_name + ".user")
|
||||
: cfg.getString(parent_config_name + ".user");
|
||||
password = cfg.has(config_name + ".password")
|
||||
? cfg.getString(config_name + ".password")
|
||||
: cfg.getString(parent_config_name + ".password");
|
||||
port = cfg.has(config_name + ".port")
|
||||
? cfg.getInt(config_name + ".port")
|
||||
: cfg.getInt(parent_config_name + ".port");
|
||||
}
|
||||
else
|
||||
{
|
||||
db = cfg.getString(config_name + ".db", "");
|
||||
user = cfg.getString(config_name + ".user");
|
||||
password = cfg.getString(config_name + ".password");
|
||||
port = cfg.getInt(config_name + ".port");
|
||||
}
|
||||
|
||||
connect_timeout = cfg.getInt(config_name + ".connect_timeout",
|
||||
cfg.getInt("mysql_connect_timeout",
|
||||
MYSQLXX_DEFAULT_TIMEOUT));
|
||||
|
||||
rw_timeout =
|
||||
cfg.getInt(config_name + ".rw_timeout",
|
||||
cfg.getInt("mysql_rw_timeout",
|
||||
MYSQLXX_DEFAULT_RW_TIMEOUT));
|
||||
}
|
||||
|
||||
|
||||
Pool::~Pool()
|
||||
{
|
||||
Poco::ScopedLock<Poco::FastMutex> locker(lock);
|
||||
@ -102,7 +142,7 @@ void Pool::initialize()
|
||||
}
|
||||
|
||||
|
||||
Connection * Pool::allocConnection(bool dont_throw_if_failed_first_time)
|
||||
Pool::Connection * Pool::allocConnection(bool dont_throw_if_failed_first_time)
|
||||
{
|
||||
Poco::Util::Application & app = Poco::Util::Application::instance();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user