mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-10 09:32:06 +00:00
dbms: addition to prev. revision [#METR-2944].
This commit is contained in:
parent
e109ac1f57
commit
ce58b8ad01
@ -40,6 +40,12 @@
|
||||
#include <DB/DataStreams/AsynchronousBlockInputStream.h>
|
||||
|
||||
#include <DB/Parsers/ParserQuery.h>
|
||||
#include <DB/Parsers/ASTSetQuery.h>
|
||||
#include <DB/Parsers/ASTUseQuery.h>
|
||||
#include <DB/Parsers/ASTInsertQuery.h>
|
||||
#include <DB/Parsers/ASTSelectQuery.h>
|
||||
#include <DB/Parsers/ASTQueryWithOutput.h>
|
||||
#include <DB/Parsers/ASTIdentifier.h>
|
||||
#include <DB/Parsers/formatAST.h>
|
||||
|
||||
#include <DB/Interpreters/Context.h>
|
||||
@ -359,7 +365,7 @@ private:
|
||||
|
||||
bool ends_with_semicolon = line[ws - 1] == ';';
|
||||
bool ends_with_backslash = line[ws - 1] == '\\';
|
||||
|
||||
|
||||
has_vertical_output_suffix = (ws >= 2) && (line[ws - 2] == '\\') && (line[ws - 1] == 'G');
|
||||
|
||||
if (ends_with_backslash)
|
||||
@ -373,7 +379,7 @@ private:
|
||||
{
|
||||
// Заменяем переводы строк на пробелы, а то возникает следуцющая проблема.
|
||||
// Каждая строчка многострочного запроса сохраняется в истории отдельно. Если
|
||||
// выйти из клиента и войти заново, то при нажатии клавиши "вверх" выводится не
|
||||
// выйти из клиента и войти заново, то при нажатии клавиши "вверх" выводится не
|
||||
// весь многострочный запрос, а каждая его строчка по-отдельности.
|
||||
std::string logged_query = query;
|
||||
std::replace(logged_query.begin(), logged_query.end(), '\n', ' ');
|
||||
@ -799,7 +805,7 @@ private:
|
||||
onException(*packet.exception);
|
||||
last_exception = packet.exception;
|
||||
return false;
|
||||
|
||||
|
||||
default:
|
||||
throw Exception("Unexpected packet from server (expected Data, got "
|
||||
+ String(Protocol::Server::toString(packet.type)) + ")", ErrorCodes::UNEXPECTED_PACKET_FROM_SERVER);
|
||||
@ -819,7 +825,7 @@ private:
|
||||
if (!block_std_out)
|
||||
{
|
||||
String current_format = format;
|
||||
|
||||
|
||||
/// Формат может быть указан в запросе.
|
||||
if (ASTQueryWithOutput * query_with_output = dynamic_cast<ASTQueryWithOutput *>(&*parsed_query))
|
||||
{
|
||||
@ -831,10 +837,10 @@ private:
|
||||
current_format = id->name;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (has_vertical_output_suffix)
|
||||
current_format = "Vertical";
|
||||
|
||||
|
||||
block_std_out = context.getFormatFactory().getOutput(current_format, std_out, block);
|
||||
block_std_out->writePrefix();
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ SetVariants::Type SetVariants::chooseMethod(const ConstColumnPlainPtrs & key_col
|
||||
|
||||
|
||||
template <typename Method>
|
||||
size_t Set::insertFromBlockImplSmall(
|
||||
size_t NO_INLINE Set::insertFromBlockImplSmall(
|
||||
Method & method,
|
||||
const ConstColumnPlainPtrs & key_columns,
|
||||
size_t start,
|
||||
@ -206,7 +206,7 @@ size_t Set::insertFromBlockImplSmall(
|
||||
}
|
||||
|
||||
template <typename Method>
|
||||
size_t Set::insertFromBlockImplBig(
|
||||
size_t NO_INLINE Set::insertFromBlockImplBig(
|
||||
Method & method,
|
||||
const ConstColumnPlainPtrs & key_columns,
|
||||
size_t start,
|
||||
@ -574,7 +574,7 @@ void Set::execute(Block & block, const ColumnNumbers & arguments, size_t result,
|
||||
|
||||
|
||||
template <typename Method>
|
||||
void Set::executeImpl(
|
||||
void NO_INLINE Set::executeImpl(
|
||||
Method & method,
|
||||
const ConstColumnPlainPtrs & key_columns,
|
||||
ColumnUInt8::Container_t & vec_res,
|
||||
@ -598,7 +598,7 @@ void Set::executeImpl(
|
||||
}
|
||||
|
||||
template <typename Method>
|
||||
void Set::executeArrayImpl(
|
||||
void NO_INLINE Set::executeArrayImpl(
|
||||
Method & method,
|
||||
const ConstColumnPlainPtrs & key_columns,
|
||||
const ColumnArray::Offsets_t & offsets,
|
||||
|
Loading…
Reference in New Issue
Block a user