diff --git a/cql3/selection/selector.hh b/cql3/selection/selector.hh index f0e326786b..e6ff4d39cd 100644 --- a/cql3/selection/selector.hh +++ b/cql3/selection/selector.hh @@ -105,9 +105,11 @@ public: virtual void reset() = 0; virtual assignment_testable::test_result test_assignment(database& db, const sstring& keyspace, ::shared_ptr receiver) override { - if (receiver->type == get_type()) { + auto t1 = receiver->type->underlying_type(); + auto t2 = get_type()->underlying_type(); + if (t1 == t2) { return assignment_testable::test_result::EXACT_MATCH; - } else if (receiver->type->is_value_compatible_with(*get_type())) { + } else if (t1->is_value_compatible_with(*t2)) { return assignment_testable::test_result::WEAKLY_ASSIGNABLE; } else { return assignment_testable::test_result::NOT_ASSIGNABLE;