Skip to content

Commit 11dd9fc

Browse files
committed
Deal with empty alias too
1 parent 397ea20 commit 11dd9fc

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/Interpreters/OptimizeIfWithConstantConditionVisitor.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ void OptimizeIfWithConstantConditionVisitorData::visit(ASTFunction & function_no
109109

110110
if (replace_alias.empty())
111111
{
112-
replace_ast->setAlias(if_alias);
112+
if (!if_alias.empty())
113+
replace_ast->setAlias(if_alias);
113114
ast = replace_ast;
114115
}
115116
else
@@ -118,12 +119,14 @@ void OptimizeIfWithConstantConditionVisitorData::visit(ASTFunction & function_no
118119
/// But IAST has only method for deep copy of subtree.
119120
/// This can be a reason of performance degradation in case of deep queries.
120121
ASTPtr replace_ast_deep_copy = replace_ast->clone();
121-
replace_ast_deep_copy->setAlias(if_alias);
122+
if (!if_alias.empty())
123+
replace_ast_deep_copy->setAlias(if_alias);
122124
ast = replace_ast_deep_copy;
123125
}
124126

125127
if (!if_alias.empty())
126128
{
129+
ast->setAlias(if_alias);
127130
auto alias_it = aliases.find(if_alias);
128131
if (alias_it != aliases.end() && alias_it->second.get() == child_copy.get())
129132
alias_it->second = ast;

0 commit comments

Comments
 (0)