diff --git a/cql3/functions/token_fct.hh b/cql3/functions/token_fct.hh index 2dce143d32..c1cc54a7ec 100644 --- a/cql3/functions/token_fct.hh +++ b/cql3/functions/token_fct.hh @@ -62,9 +62,8 @@ public: } bytes_opt execute(serialization_format sf, const std::vector& parameters) override { - auto buf = _schema->partition_key_type()->serialize_optionals(parameters); - auto view = partition_key_view::from_bytes(std::move(buf)); - auto tok = dht::global_partitioner().get_token(*_schema, view); + auto key = partition_key::from_optional_exploded(*_schema, parameters); + auto tok = dht::global_partitioner().get_token(*_schema, key); warn(unimplemented::cause::VALIDATION); return dht::global_partitioner().token_to_bytes(tok); }