MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / bindFunc

Method bindFunc

src/function/list/list_concat_function.cpp:32–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30}
31
32std::unique_ptr<FunctionBindData> ListConcatFunction::bindFunc(const ScalarBindFuncInput& input) {
33 std::vector<LogicalType> types;
34 types.push_back(input.arguments[0]->getDataType().copy());
35 types.push_back(input.arguments[1]->getDataType().copy());
36
37 using resolver = ListTypeResolver<ListOp::Concat>;
38 ListFunctionUtils::resolveTypes(input, types, resolver::leftEmpty, resolver::leftEmpty,
39 resolver::rightEmpty, resolver::finalResolver, resolver::bothNull, resolver::leftEmpty,
40 resolver::rightEmpty, resolver::finalResolver);
41
42 if (types[0] != types[1]) {
43 throw BinderException(ExceptionMessage::listFunctionIncompatibleChildrenType(name,
44 types[0].toString(), types[1].toString()));
45 }
46 return std::make_unique<FunctionBindData>(std::move(types), types[0].copy());
47}
48
49function_set ListConcatFunction::getFunctionSet() {
50 function_set result;

Callers 8

castBindFuncFunction · 0.45
bindFileScanSourceMethod · 0.45
bindObjectScanSourceMethod · 0.45
bindTableFuncMethod · 0.45

Calls 4

getDataTypeMethod · 0.80
push_backMethod · 0.45
copyMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected