Current section
Files
Jump to
Current section
Files
c_src/duckdb/src/function/udf_function.cpp
#include "duckdb/function/udf_function.hpp"
#include "duckdb/parser/parsed_data/create_scalar_function_info.hpp"
#include "duckdb/parser/parsed_data/create_aggregate_function_info.hpp"
#include "duckdb/main/client_context.hpp"
namespace duckdb {
void UDFWrapper::RegisterFunction(string name, vector<LogicalType> args, LogicalType ret_type,
scalar_function_t udf_function, ClientContext &context, LogicalType varargs) {
ScalarFunction scalar_function(move(name), move(args), move(ret_type), move(udf_function));
scalar_function.varargs = move(varargs);
CreateScalarFunctionInfo info(scalar_function);
info.schema = DEFAULT_SCHEMA;
context.RegisterFunction(&info);
}
void UDFWrapper::RegisterAggrFunction(AggregateFunction aggr_function, ClientContext &context, LogicalType varargs) {
aggr_function.varargs = move(varargs);
CreateAggregateFunctionInfo info(move(aggr_function));
context.RegisterFunction(&info);
}
} // namespace duckdb