File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff 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;
You can’t perform that action at this time.
0 commit comments