Skip to content

Commit

Permalink
Late night hijinks
Browse files Browse the repository at this point in the history
  • Loading branch information
willdealtry committed May 3, 2024
1 parent 9842a02 commit 7e81c77
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
10 changes: 5 additions & 5 deletions cpp/arcticdb/processing/operation_dispatch_binary.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,23 +47,23 @@ VariantData visit_binary_boolean(const VariantData& left, const VariantData& rig
template <typename Func>
VariantData binary_membership(const ColumnWithStrings& column_with_strings, ValueSet& value_set, Func&& func) {
if (is_empty_type(column_with_strings.column_->type().data_type())) {
if constexpr(std::is_same_v<Func, IsInOperator&&>) {
if constexpr(std::is_same_v<std::remove_reference_t<Func>, IsInOperator>) {
return EmptyResult{};
} else if constexpr(std::is_same_v<Func, IsNotInOperator&&>) {
} else if constexpr(std::is_same_v<std::remove_reference_t<Func>, IsNotInOperator>) {
return FullResult{};
}
}
// If the value set is empty, we can short-circuit
if (value_set.empty()) {
if constexpr(std::is_same_v<Func, IsNotInOperator&&>) {
if constexpr(std::is_same_v<std::remove_reference_t<Func>, IsNotInOperator>) {
return FullResult{};
} else {
return EmptyResult{};
}
}

util::BitSet output_bitset;
constexpr auto sparse_missing_value_output = std::is_same_v<Func, IsNotInOperator&&>;
constexpr auto sparse_missing_value_output = std::is_same_v<std::remove_reference_t<Func>, IsNotInOperator>;
details::visit_type(column_with_strings.column_->type().data_type(),[&] (auto col_tag) {
using col_type_info = ScalarTypeInfo<decltype(col_tag)>;
details::visit_type(value_set.base_type().data_type(), [&] (auto val_set_tag) {
Expand Down Expand Up @@ -123,7 +123,7 @@ VariantData visit_binary_membership(const VariantData &left, const VariantData &

return std::visit(util::overload {
[&] (const ColumnWithStrings& l, const std::shared_ptr<ValueSet>& r) ->VariantData {
return transform_to_placeholder(binary_membership<decltype(func)>(l, *r, std::forward<decltype(func)>(func)));
return transform_to_placeholder(binary_membership(l, *r, std::forward<decltype(func)>(func)));
},
[](const auto &, const auto&) -> VariantData {
util::raise_rte("Binary membership operations must be Column/ValueSet");
Expand Down
6 changes: 3 additions & 3 deletions cpp/arcticdb/processing/operation_dispatch_unary.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ VariantData unary_comparator(const Column& col, Func&& func) {
if (is_empty_type(col.type().data_type()) || is_integer_type(col.type().data_type())) {
if constexpr (std::is_same_v<std::remove_reference_t<Func>, IsNullOperator>) {
return is_empty_type(col.type().data_type()) ? VariantData(FullResult{}) : VariantData(EmptyResult{});
} else if constexpr (std::is_same_v<Func, NotNullOperator&&>) {
} else if constexpr (std::is_same_v<std::remove_reference_t<Func>, NotNullOperator>) {
return is_empty_type(col.type().data_type()) ? VariantData(EmptyResult{}) : VariantData(FullResult{});
} else {
internal::raise<ErrorCode::E_ASSERTION_FAILURE>("Unexpected operator passed to unary_comparator");
Expand Down Expand Up @@ -134,12 +134,12 @@ template<typename Func>
VariantData visit_unary_comparator(const VariantData& left, Func&& func) {
return std::visit(util::overload{
[&] (const ColumnWithStrings& l) -> VariantData {
return transform_to_placeholder(unary_comparator<decltype(func)>(*(l.column_), std::forward<decltype(func)>(func)));
return transform_to_placeholder(unary_comparator(*(l.column_), std::forward<decltype(func)>(func)));
},
[] (EmptyResult) -> VariantData {
if constexpr (std::is_same_v<std::remove_reference_t<Func>, IsNullOperator>) {
return FullResult{};
} else if constexpr (std::is_same_v<Func, NotNullOperator>) {
} else if constexpr (std::is_same_v<std::remove_reference_t<Func>, NotNullOperator>) {
return EmptyResult{};
} else {
internal::raise<ErrorCode::E_ASSERTION_FAILURE>("Unexpected operator passed to visit unary_comparator");
Expand Down

0 comments on commit 7e81c77

Please sign in to comment.