diff --git a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h index 3702c2e1a6bd7a..d650dd1590d2e0 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h +++ b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h @@ -26,14 +26,13 @@ #include "pipeline/exec/join_build_sink_operator.h" #include "pipeline/pipeline_x/operator.h" #include "vec/runtime/partitioner.h" -#include "vec/sink/vdata_stream_sender.h" // ShuffleChannelIds namespace doris { class RuntimeState; namespace pipeline { -using PartitionerType = vectorized::Crc32HashPartitioner; +using PartitionerType = vectorized::Crc32HashPartitioner; class PartitionedHashJoinProbeOperatorX; diff --git a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h index 68c6b970163f24..60cb2e8f60c7f7 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h +++ b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h @@ -26,7 +26,6 @@ #include "pipeline/exec/join_build_sink_operator.h" #include "pipeline/pipeline_x/operator.h" #include "vec/runtime/partitioner.h" -#include "vec/sink/vdata_stream_sender.h" // ShuffleChannelIds namespace doris { class ExecNode; @@ -34,7 +33,7 @@ class RuntimeState; namespace pipeline { -using PartitionerType = vectorized::Crc32HashPartitioner; +using PartitionerType = vectorized::Crc32HashPartitioner; class PartitionedHashJoinSinkOperatorX; diff --git a/be/src/vec/runtime/partitioner.cpp b/be/src/vec/runtime/partitioner.cpp index fadf6d73b95f76..bbb6ebfc1a880a 100644 --- a/be/src/vec/runtime/partitioner.cpp +++ b/be/src/vec/runtime/partitioner.cpp @@ -103,5 +103,6 @@ template class Partitioner; template class XXHashPartitioner; template class Partitioner; template class Crc32HashPartitioner; +template class Crc32HashPartitioner; } // namespace doris::vectorized diff --git a/be/src/vec/runtime/partitioner.h b/be/src/vec/runtime/partitioner.h index 8d715a41285800..3152edb5cb57c7 100644 --- a/be/src/vec/runtime/partitioner.h +++ b/be/src/vec/runtime/partitioner.h @@ -125,5 +125,12 @@ class Crc32HashPartitioner final : public Partitioner { void _do_hash(const ColumnPtr& column, uint32_t* __restrict result, int idx) const override; }; +struct SpillPartitionChannelIds { + template + HashValueType operator()(HashValueType l, size_t r) { + return ((l >> 16) | (l << 16)) % r; + } +}; + } // namespace vectorized } // namespace doris