Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/paimon/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,9 @@ set(PAIMON_CORE_SRCS
core/operation/abstract_split_read.cpp
core/operation/append_only_file_store_scan.cpp
core/operation/append_only_file_store_write.cpp
core/operation/commit/conflict_detection.cpp
core/operation/commit/row_id_column_conflict_checker.cpp
core/operation/commit/manifest_entry_changes.cpp
core/operation/commit_context.cpp
core/operation/expire_snapshots.cpp
core/operation/file_store_commit.cpp
Expand Down Expand Up @@ -697,6 +700,8 @@ if(PAIMON_BUILD_TESTS)
core/operation/metrics/compaction_metrics_test.cpp
core/operation/data_evolution_file_store_scan_test.cpp
core/operation/data_evolution_split_read_test.cpp
core/operation/commit/conflict_detection_test.cpp
core/operation/commit/manifest_entry_changes_test.cpp
core/operation/key_value_file_store_write_test.cpp
core/operation/internal_read_context_test.cpp
core/operation/abstract_split_read_test.cpp
Expand Down
13 changes: 13 additions & 0 deletions src/paimon/common/data/binary_row.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,19 @@ struct hash<std::tuple<paimon::BinaryRow, int32_t, std::string>> {
}
};

/// for std::unordered_map<std::tuple<paimon::BinaryRow, int32_t, int32_t>, ...>
template <>
struct hash<std::tuple<paimon::BinaryRow, int32_t, int32_t>> {
size_t operator()(
const std::tuple<paimon::BinaryRow, int32_t, int32_t>& partition_bucket_level) const {
const auto& [partition, bucket, level] = partition_bucket_level;
size_t hash = paimon::MurmurHashUtils::HashUnsafeBytes(
reinterpret_cast<const void*>(&bucket), 0, sizeof(bucket), partition.HashCode());
return paimon::MurmurHashUtils::HashUnsafeBytes(reinterpret_cast<const void*>(&level), 0,
sizeof(level), hash);
}
};

template <>
struct hash<paimon::BinaryRow> {
size_t operator()(const paimon::BinaryRow& row) const {
Expand Down
Loading
Loading