|
1 | 1 | // SPDX-License-Identifier: Apache-2.0 |
2 | 2 | // SPDX-FileCopyrightText: Copyright the Vortex contributors |
3 | 3 |
|
| 4 | +use vortex_array::ArrayVTable; |
| 5 | +use vortex_array::arrays::Dict; |
| 6 | +use vortex_array::arrays::Filter; |
| 7 | +use vortex_array::arrays::Slice; |
4 | 8 | use vortex_array::arrays::dict::TakeExecuteAdaptor; |
5 | 9 | use vortex_array::arrays::filter::FilterExecuteAdaptor; |
6 | 10 | use vortex_array::arrays::slice::SliceExecuteAdaptor; |
7 | | -use vortex_array::kernel::ParentKernelSet; |
| 11 | +use vortex_array::optimizer::kernels::ArrayKernelsExt; |
8 | 12 | use vortex_array::optimizer::rules::ParentRuleSet; |
| 13 | +use vortex_array::scalar_fn::ScalarFnVTable; |
9 | 14 | use vortex_array::scalar_fn::fns::between::BetweenReduceAdaptor; |
| 15 | +use vortex_array::scalar_fn::fns::binary::Binary; |
10 | 16 | use vortex_array::scalar_fn::fns::binary::CompareExecuteAdaptor; |
11 | 17 | use vortex_array::scalar_fn::fns::cast::CastReduceAdaptor; |
| 18 | +use vortex_array::scalar_fn::fns::mask::Mask; |
12 | 19 | use vortex_array::scalar_fn::fns::mask::MaskExecuteAdaptor; |
13 | 20 | use vortex_array::scalar_fn::fns::mask::MaskReduceAdaptor; |
| 21 | +use vortex_session::VortexSession; |
14 | 22 |
|
15 | 23 | use crate::ALP; |
16 | 24 |
|
17 | | -pub(super) const PARENT_KERNELS: ParentKernelSet<ALP> = ParentKernelSet::new(&[ |
18 | | - ParentKernelSet::lift(&CompareExecuteAdaptor(ALP)), |
19 | | - ParentKernelSet::lift(&FilterExecuteAdaptor(ALP)), |
20 | | - ParentKernelSet::lift(&MaskExecuteAdaptor(ALP)), |
21 | | - ParentKernelSet::lift(&SliceExecuteAdaptor(ALP)), |
22 | | - ParentKernelSet::lift(&TakeExecuteAdaptor(ALP)), |
23 | | -]); |
| 25 | +pub(super) fn initialize(session: &VortexSession) { |
| 26 | + let kernels = session.kernels(); |
| 27 | + kernels.register_execute_parent_kernel(Binary.id(), ALP, CompareExecuteAdaptor(ALP)); |
| 28 | + kernels.register_execute_parent_kernel(Filter.id(), ALP, FilterExecuteAdaptor(ALP)); |
| 29 | + kernels.register_execute_parent_kernel(Mask.id(), ALP, MaskExecuteAdaptor(ALP)); |
| 30 | + kernels.register_execute_parent_kernel(Slice.id(), ALP, SliceExecuteAdaptor(ALP)); |
| 31 | + kernels.register_execute_parent_kernel(Dict.id(), ALP, TakeExecuteAdaptor(ALP)); |
| 32 | +} |
24 | 33 |
|
25 | 34 | pub(super) const RULES: ParentRuleSet<ALP> = ParentRuleSet::new(&[ |
26 | 35 | ParentRuleSet::lift(&BetweenReduceAdaptor(ALP)), |
|
0 commit comments