From 4f46874933992b2f30d7bda78f35c1fb3fef1557 Mon Sep 17 00:00:00 2001 From: Michael Kolupaev Date: Wed, 19 Mar 2014 15:44:41 +0400 Subject: [PATCH] added a couple of comments. [#METR-10202] --- dbms/include/DB/Interpreters/ExpressionAnalyzer.h | 2 ++ dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/dbms/include/DB/Interpreters/ExpressionAnalyzer.h b/dbms/include/DB/Interpreters/ExpressionAnalyzer.h index 307aede49c5..a16810e0a8f 100644 --- a/dbms/include/DB/Interpreters/ExpressionAnalyzer.h +++ b/dbms/include/DB/Interpreters/ExpressionAnalyzer.h @@ -15,6 +15,8 @@ namespace DB { /** Превращает выражение из синтаксического дерева в последовательность действий для его выполнения. + * + * NOTE: если ast - запрос SELECT из таблицы, структура этой таблицы не должна меняться во все время жизни ExpressionAnalyzer-а. */ class ExpressionAnalyzer : private boost::noncopyable { diff --git a/dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp b/dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp index 07931d21c34..ae60e78e71d 100644 --- a/dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp +++ b/dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp @@ -138,6 +138,7 @@ BlockInputStreams MergeTreeDataSelectExecutor::read( ExpressionAnalyzer analyzer(select.prewhere_expression, data.context, data.getColumnsList()); prewhere_actions = analyzer.getActions(false); prewhere_column = select.prewhere_expression->getColumnName(); + /// TODO: Чтобы работали подзапросы в PREWHERE, можно тут сохранить analyzer.getSetsWithSubqueries(), а потом их выполнить. } RangesInDataParts parts_with_ranges;