MCPcopy Create free account
hub / github.com/apache/arrow / RegisterVectorSelection

Function RegisterVectorSelection

cpp/src/arrow/compute/kernels/vector_selection.cc:323–353  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

321} // namespace
322
323void RegisterVectorSelection(FunctionRegistry* registry) {
324 // Filter kernels
325 std::vector<SelectionKernelData> filter_kernels;
326 PopulateFilterKernels(&filter_kernels);
327
328 VectorKernel filter_base;
329 filter_base.init = FilterState::Init;
330 RegisterSelectionFunction("array_filter", array_filter_doc, filter_base,
331 std::move(filter_kernels), GetDefaultFilterOptions(),
332 registry);
333
334 DCHECK_OK(registry->AddFunction(MakeFilterMetaFunction()));
335
336 // Take kernels
337 std::vector<SelectionKernelData> take_kernels;
338 PopulateTakeKernels(&take_kernels);
339
340 VectorKernel take_base;
341 take_base.init = TakeState::Init;
342 take_base.can_execute_chunkwise = false;
343 RegisterSelectionFunction("array_take", array_take_doc, take_base,
344 std::move(take_kernels), GetDefaultTakeOptions(), registry);
345
346 DCHECK_OK(registry->AddFunction(MakeTakeMetaFunction()));
347
348 // DropNull kernel
349 DCHECK_OK(registry->AddFunction(std::make_shared<DropNullMetaFunction>()));
350
351 DCHECK_OK(registry->AddFunction(
352 MakeIndicesNonZeroFunction("indices_nonzero", indices_nonzero_doc)));
353}
354
355} // namespace internal
356} // namespace compute

Callers 1

CreateBuiltInRegistryFunction · 0.85

Calls 9

PopulateFilterKernelsFunction · 0.85
GetDefaultFilterOptionsFunction · 0.85
MakeFilterMetaFunctionFunction · 0.85
PopulateTakeKernelsFunction · 0.85
GetDefaultTakeOptionsFunction · 0.85
MakeTakeMetaFunctionFunction · 0.85
AddFunctionMethod · 0.45

Tested by

no test coverage detected