summaryrefslogtreecommitdiffstats
path: root/eval/src
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-03-10 10:56:23 +0000
committerArne Juul <arnej@verizonmedia.com>2021-03-10 11:54:02 +0000
commit341f091c5cfb1571eeba56d158fcec93f56ff174 (patch)
treee0318ec1027f86bb184ad18a1149d05598d8f40c /eval/src
parentafea695c3a6fffb9f210384b1d2c6c6b777eda72 (diff)
use TypifyCellMeta in SparseNoOverlapJoin optimizer
Diffstat (limited to 'eval/src')
-rw-r--r--eval/src/vespa/eval/instruction/sparse_no_overlap_join_function.cpp11
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 &param = 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));
}