MCPcopy Create free account
hub / github.com/alibaba/zvec / handle_function_call_node

Method handle_function_call_node

src/db/sqlengine/parser/zvec_sql_parser.cc:406–424  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

404}
405
406Node::Ptr ZVecSQLParser::handle_function_call_node(VoidPtr node) {
407 SQLParser::Function_callContext *function_call_node =
408 reinterpret_cast<SQLParser::Function_callContext *>(node);
409
410 FuncNode::Ptr func_node_ptr = std::make_shared<FuncNode>();
411
412 func_node_ptr->set_func_name_node(
413 handle_id_node(function_call_node->identifier()));
414 auto value_expr_list = function_call_node->function_value_expr();
415 for (auto value_expr : value_expr_list) {
416 Node::Ptr value_node = handle_function_value_expr_node(value_expr);
417 if (value_node == nullptr) {
418 return nullptr;
419 }
420 func_node_ptr->add_argument(std::move(value_node));
421 }
422
423 return func_node_ptr;
424}
425
426Node::Ptr ZVecSQLParser::handle_const_node(VoidPtr node) {
427 Node::Ptr constExpr = nullptr;

Callers

nothing calls this directly

Calls 4

identifierMethod · 0.80
function_value_exprMethod · 0.80
set_func_name_nodeMethod · 0.45
add_argumentMethod · 0.45

Tested by

no test coverage detected