dbms: addition to prev. revision [#METR-2944].

This commit is contained in:
Alexey Milovidov 2015-03-02 04:39:42 +03:00
parent e109ac1f57
commit ce58b8ad01
2 changed files with 16 additions and 10 deletions

View File

@ -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();
}

View File

@ -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,