diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-03-10 10:56:23 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-03-10 11:54:02 +0000 |
commit | 341f091c5cfb1571eeba56d158fcec93f56ff174 (patch) | |
tree | e0318ec1027f86bb184ad18a1149d05598d8f40c /eval/src | |
parent | afea695c3a6fffb9f210384b1d2c6c6b777eda72 (diff) |
use TypifyCellMeta in SparseNoOverlapJoin optimizer
Diffstat (limited to 'eval/src')
-rw-r--r-- | eval/src/vespa/eval/instruction/sparse_no_overlap_join_function.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/eval/src/vespa/eval/instruction/sparse_no_overlap_join_function.cpp b/eval/src/vespa/eval/instruction/sparse_no_overlap_join_function.cpp index 9c82b1f7bcd..2dfe1b07373 100644 --- a/eval/src/vespa/eval/instruction/sparse_no_overlap_join_function.cpp +++ b/eval/src/vespa/eval/instruction/sparse_no_overlap_join_function.cpp @@ -78,11 +78,14 @@ void my_sparse_no_overlap_join_op(InterpretedFunction::State &state, uint64_t pa } struct SelectSparseNoOverlapJoinOp { - template <typename CT, typename Fun> - static auto invoke() { return my_sparse_no_overlap_join_op<CT,Fun>; } + template <typename R1, typename Fun> + static auto invoke() { + using CT = CellValueType<R1::value.cell_type>; + return my_sparse_no_overlap_join_op<CT,Fun>; + } }; -using MyTypify = TypifyValue<TypifyCellType,operation::TypifyOp2>; +using MyTypify = TypifyValue<TypifyCellMeta,operation::TypifyOp2>; bool is_sparse_like(const ValueType &type) { return ((type.count_mapped_dimensions() > 0) && (type.dense_subspace_size() == 1)); @@ -105,7 +108,7 @@ SparseNoOverlapJoinFunction::compile_self(const ValueBuilderFactory &factory, St const auto ¶m = stash.create<JoinParam>(result_type(), lhs().result_type(), rhs().result_type(), function(), factory); - auto op = typify_invoke<2,MyTypify,SelectSparseNoOverlapJoinOp>(result_type().cell_type(), function()); + auto op = typify_invoke<2,MyTypify,SelectSparseNoOverlapJoinOp>(result_type().cell_meta().limit(), function()); return InterpretedFunction::Instruction(op, wrap_param<JoinParam>(param)); } |