File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed
Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -3382,12 +3382,15 @@ NamesAndTypes QueryAnalyzer::resolveProjectionExpressionNodeList(QueryTreeNodePt
33823382
33833383 if (interpolate_list.contains (projection_names[i]))
33843384 {
3385- auto f = std::make_shared<FunctionNode>(" __interpolate" );
3386- f->getArguments ().getNodes ().push_back (projection_nodes[i]);
3387- f->getArguments ().getNodes ().push_back (std::make_shared<ConstantNode>(projection_names[i]));
3388- resolveOrdinaryFunctionNodeByName (*f, f->getFunctionName (), scope.context );
3389- projection_nodes[i] = f;
3390- scope.expression_argument_name_to_node .emplace (projection_names[i], projection_nodes[i]);
3385+ if (const auto * function_node = projection_nodes[i]->as <FunctionNode>(); !function_node || function_node->getFunctionName () != " __interpolate" )
3386+ {
3387+ auto f = std::make_shared<FunctionNode>(" __interpolate" );
3388+ f->getArguments ().getNodes ().push_back (projection_nodes[i]);
3389+ f->getArguments ().getNodes ().push_back (std::make_shared<ConstantNode>(projection_names[i]));
3390+ resolveOrdinaryFunctionNodeByName (*f, f->getFunctionName (), scope.context );
3391+ projection_nodes[i] = f;
3392+ scope.expression_argument_name_to_node .emplace (projection_names[i], projection_nodes[i]);
3393+ }
33913394 }
33923395 }
33933396
You can’t perform that action at this time.
0 commit comments