mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
slightly more readable if conditions
This commit is contained in:
parent
ebbaed46bd
commit
20cf4e8d22
@ -759,13 +759,21 @@ void TCPHandler::processTablesStatusRequest()
|
|||||||
TablesStatusRequest request;
|
TablesStatusRequest request;
|
||||||
request.read(*in, client_tcp_protocol_version);
|
request.read(*in, client_tcp_protocol_version);
|
||||||
|
|
||||||
ContextPtr context_to_resolve_table_names = (session && session->sessionContext()) ? session->sessionContext() : server.context();
|
ContextPtr context_to_resolve_table_names;
|
||||||
if (is_interserver_mode && !default_database.empty())
|
if (is_interserver_mode)
|
||||||
{
|
{
|
||||||
// in interserver mode, the session doesn't exist.
|
/// In interserver mode session context does not exists, because authentication is done for each query.
|
||||||
ContextMutablePtr interserver_context = Context::createCopy(context_to_resolve_table_names);
|
/// We also cannot create query context earlier, because it cannot be created before authentication,
|
||||||
interserver_context->setCurrentDatabase(default_database);
|
/// but query is not received yet. So we have to do this trick.
|
||||||
context_to_resolve_table_names = interserver_context;
|
ContextMutablePtr fake_interserver_context = Context::createCopy(server.context());
|
||||||
|
if (!default_database.empty())
|
||||||
|
fake_interserver_context->setCurrentDatabase(default_database);
|
||||||
|
context_to_resolve_table_names = fake_interserver_context;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
assert(session);
|
||||||
|
context_to_resolve_table_names = session->sessionContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
TablesStatusResponse response;
|
TablesStatusResponse response;
|
||||||
@ -1361,7 +1369,7 @@ void TCPHandler::receiveQuery()
|
|||||||
query_context = session->makeQueryContext(std::move(client_info));
|
query_context = session->makeQueryContext(std::move(client_info));
|
||||||
|
|
||||||
/// Sets the default database if it wasn't set earlier for the session context.
|
/// Sets the default database if it wasn't set earlier for the session context.
|
||||||
if (!default_database.empty() && !session->sessionContext())
|
if (is_interserver_mode && !default_database.empty())
|
||||||
query_context->setCurrentDatabase(default_database);
|
query_context->setCurrentDatabase(default_database);
|
||||||
|
|
||||||
if (state.part_uuids_to_ignore)
|
if (state.part_uuids_to_ignore)
|
||||||
|
Loading…
Reference in New Issue
Block a user