From 0353775086ad39782c490983cd7d3b1e0b0629b1 Mon Sep 17 00:00:00 2001 From: vdimir Date: Wed, 31 Mar 2021 12:28:25 +0300 Subject: [PATCH] Pass inner_columns to PredicateRewriteVisitorData::rewriteSubquery explicitly --- src/Interpreters/PredicateRewriteVisitor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Interpreters/PredicateRewriteVisitor.cpp b/src/Interpreters/PredicateRewriteVisitor.cpp index d4083e84639..6f28b9050df 100644 --- a/src/Interpreters/PredicateRewriteVisitor.cpp +++ b/src/Interpreters/PredicateRewriteVisitor.cpp @@ -42,7 +42,8 @@ void PredicateRewriteVisitorData::visit(ASTSelectWithUnionQuery & union_select_q void PredicateRewriteVisitorData::visitFirstInternalSelect(ASTSelectQuery & select_query, ASTPtr &) { - is_rewrite |= rewriteSubquery(select_query, {}); + /// In this case inner_columns same as outer_columns from table_columns + is_rewrite |= rewriteSubquery(select_query, table_columns.columns.getNames()); } void PredicateRewriteVisitorData::visitOtherInternalSelect(ASTSelectQuery & select_query, ASTPtr &) @@ -115,8 +116,7 @@ bool PredicateRewriteVisitorData::rewriteSubquery(ASTSelectQuery & subquery, con const auto & outer_column_iterator = std::find(outer_columns.begin(), outer_columns.end(), column_name); if (outer_column_iterator != outer_columns.end()) { - const Names & column_names = inner_columns.empty() ? outer_columns : inner_columns; - identifier->setShortName(column_names[outer_column_iterator - outer_columns.begin()]); + identifier->setShortName(inner_columns[outer_column_iterator - outer_columns.begin()]); } }