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

Method operation

src/function/list/list_distinct_function.cpp:11–25  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9
10struct ListDistinct {
11 static void operation(common::list_entry_t& input, common::list_entry_t& result,
12 common::ValueVector& inputVector, common::ValueVector& resultVector) {
13 auto numUniqueValues = ListUnique::appendListElementsToValueSet(input, inputVector);
14 result = common::ListVector::addList(&resultVector, numUniqueValues);
15 auto resultDataVector = common::ListVector::getDataVector(&resultVector);
16 auto resultDataVectorBuffer =
17 common::ListVector::getListValuesWithOffset(&resultVector, result, 0 /* offset */);
18 ListUnique::appendListElementsToValueSet(input, inputVector, nullptr,
19 [&resultDataVector, &resultDataVectorBuffer](common::ValueVector& dataVector,
20 uint64_t pos) -> void {
21 resultDataVector->copyFromVectorData(resultDataVectorBuffer, &dataVector,
22 dataVector.getData() + pos * dataVector.getNumBytesPerValue());
23 resultDataVectorBuffer += dataVector.getNumBytesPerValue();
24 });
25 }
26};
27
28static std::unique_ptr<FunctionBindData> bindFunc(const ScalarBindFuncInput& input) {

Callers

nothing calls this directly

Calls 5

addListFunction · 0.85
getListValuesWithOffsetFunction · 0.85
copyFromVectorDataMethod · 0.80
getDataVectorFunction · 0.50
getDataMethod · 0.45

Tested by

no test coverage detected