dbms: prohibit local clickhouse as a dictionary source [#METR-13298]

This commit is contained in:
Andrey Mironov 2015-02-04 19:10:27 +03:00
parent 0b2e0ce0c1
commit 835c8a317e

View File

@ -28,19 +28,25 @@ public:
table{config.getString(config_prefix + "table")},
sample_block{sample_block}, context(context),
is_local{isLocal(host, port)},
pool{/*is_local ? nullptr : */ext::make_unique<ConnectionPool>(
pool{is_local ? nullptr : ext::make_unique<ConnectionPool>(
max_connections, host, port, db, user, password, context.getDataTypeFactory(),
"ClickhouseDictionarySource")
},
load_all_query{composeLoadAllQuery(sample_block, table)}
{}
{
if (is_local)
throw Exception{
"Cannot use local clickhouse as a dictionary source",
ErrorCodes::LOGICAL_ERROR
};
}
ClickhouseDictionarySource(const ClickhouseDictionarySource & other)
: host{other.host}, port{other.port}, user{other.user}, password{other.password},
db{other.db}, table{other.db},
sample_block{other.sample_block}, context(other.context),
is_local{other.is_local},
pool{/*is_local ? nullptr : */ext::make_unique<ConnectionPool>(
pool{is_local ? nullptr : ext::make_unique<ConnectionPool>(
max_connections, host, port, db, user, password, context.getDataTypeFactory(),
"ClickhouseDictionarySource")},
load_all_query{other.load_all_query}