diff --git a/dbms/include/DB/Interpreters/ExpressionAnalyzer.h b/dbms/include/DB/Interpreters/ExpressionAnalyzer.h index 41008e12c75..d84bae25f39 100644 --- a/dbms/include/DB/Interpreters/ExpressionAnalyzer.h +++ b/dbms/include/DB/Interpreters/ExpressionAnalyzer.h @@ -97,7 +97,7 @@ public: /// Если ast - запрос SELECT, получает имена (алиасы) и типы столбцов из секции SELECT. Block getSelectSampleBlock(); - /// Все новые временные таблицы, полученные при выполнении подзапросов Global In + /// Все новые временные таблицы, полученные при выполнении подзапросов GLOBAL IN. std::vector external_tables; private: typedef std::set NamesSet; @@ -261,12 +261,12 @@ private: void normalizeTree(); void normalizeTreeImpl(ASTPtr & ast, MapOfASTs & finished_asts, SetOfASTs & current_asts, std::string current_alias, bool in_sign_rewritten); - /// Обходит запрос и сохраняет найденные глобальные функции (например Global in) + /// Обходит запрос и сохраняет найденные глобальные функции (например GLOBAL IN) void findGlobalFunctions(ASTPtr & ast, std::vector & global_nodes); /// Превратить перечисление значений или подзапрос в ASTSet. node - функция in или notIn. void makeSet(ASTFunction * node, const Block & sample_block); - /// Выполнить подзапрос в секции global in и запомнить результат во временную таблицу типа memory + /// Выполнить подзапрос в секции GLOBAL IN и запомнить результат во временную таблицу типа memory /// Все новые временные таблицы хранятся в переменной external_tables void addExternalStorage(ASTFunction * node, size_t & name_id); diff --git a/dbms/src/Interpreters/ExpressionAnalyzer.cpp b/dbms/src/Interpreters/ExpressionAnalyzer.cpp index 1b1f0774af5..a592d50a221 100644 --- a/dbms/src/Interpreters/ExpressionAnalyzer.cpp +++ b/dbms/src/Interpreters/ExpressionAnalyzer.cpp @@ -569,7 +569,7 @@ void ExpressionAnalyzer::addExternalStorage(ASTFunction * node, size_t & name_id bool parse_res = parser.parse(pos, end, subquery, expected); if (!parse_res) - throw Exception("Error in parsing select query while creating set for table " + table->name + ".", + throw Exception("Error in parsing SELECT query while creating set for table " + table->name + ".", ErrorCodes::LOGICAL_ERROR); } else @@ -592,7 +592,7 @@ void ExpressionAnalyzer::addExternalStorage(ASTFunction * node, size_t & name_id external_tables.push_back(external_storage); } else - throw Exception("Global in (notIn) supports only select data.", ErrorCodes::BAD_ARGUMENTS); + throw Exception("GLOBAL [NOT] IN supports only SELECT data.", ErrorCodes::BAD_ARGUMENTS); } diff --git a/dbms/src/Interpreters/InterpreterSelectQuery.cpp b/dbms/src/Interpreters/InterpreterSelectQuery.cpp index 78caf91142b..dbf8c7c2829 100644 --- a/dbms/src/Interpreters/InterpreterSelectQuery.cpp +++ b/dbms/src/Interpreters/InterpreterSelectQuery.cpp @@ -78,7 +78,7 @@ void InterpreterSelectQuery::init(BlockInputStreamPtr input_, const NamesAndType query_analyzer = new ExpressionAnalyzer(query_ptr, context, storage, subquery_depth); - /// Выполняем все Global in подзапросы, результаты будут сохранены в query_analyzer->external_tables + /// Выполняем все GLOBAL IN подзапросы, результаты будут сохранены в query_analyzer->external_tables query_analyzer->processGlobalOperations(); /// Сохраняем в query context новые временные таблицы diff --git a/dbms/src/Parsers/formatAST.cpp b/dbms/src/Parsers/formatAST.cpp index dff56b9c087..8f55c9866cd 100644 --- a/dbms/src/Parsers/formatAST.cpp +++ b/dbms/src/Parsers/formatAST.cpp @@ -498,6 +498,8 @@ void formatAST(const ASTFunction & ast, std::ostream & s, size_t indent, bool "notLike", " NOT LIKE ", "in", " IN ", "notIn", " NOT IN ", + "globalIn", " GLOBAL IN ", + "globalNotIn", " GLOBAL NOT IN ", nullptr };