This is an automated email from the ASF dual-hosted git repository.
Gabriel39 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 91a12e13170 [fix](be) Fix macOS BE compilation errors (#65783)
91a12e13170 is described below
commit 91a12e13170268812c0002e653b408eca002ca3f
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Mon Jul 20 10:39:26 2026 +0800
[fix](be) Fix macOS BE compilation errors (#65783)
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: Clang 20 fails the macOS BE build because the
Linux-only PHDR cache state is unused on macOS and Parquet boolean
column-index values are represented by std::vector<bool> proxy
references. Restrict the PHDR state field to supported Linux builds and
materialize Parquet page bounds as their physical C++ value types before
decoding.
Co-authored-by: morningman <[email protected]>
---
be/src/common/phdr_cache.h | 2 ++
be/src/format_v2/parquet/parquet_statistics.cpp | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/be/src/common/phdr_cache.h b/be/src/common/phdr_cache.h
index da18b698f0d..abf08a0500f 100644
--- a/be/src/common/phdr_cache.h
+++ b/be/src/common/phdr_cache.h
@@ -75,5 +75,7 @@ public:
ScopedPHDRCacheRead& operator=(const ScopedPHDRCacheRead&) = delete;
private:
+#if defined(__linux__) && !defined(THREAD_SANITIZER) && !defined(USE_MUSL)
bool _previous = false;
+#endif
};
diff --git a/be/src/format_v2/parquet/parquet_statistics.cpp
b/be/src/format_v2/parquet/parquet_statistics.cpp
index ff72c6982de..ec404f40e15 100644
--- a/be/src/format_v2/parquet/parquet_statistics.cpp
+++ b/be/src/format_v2/parquet/parquet_statistics.cpp
@@ -1046,8 +1046,8 @@ bool set_page_decoded_min_max(const
std::shared_ptr<::parquet::ColumnIndex>& col
page_idx >= typed_index->max_values().size()) {
return false;
}
- const auto& min_value = typed_index->min_values()[page_idx];
- const auto& max_value = typed_index->max_values()[page_idx];
+ const typename ParquetDType::c_type min_value =
typed_index->min_values()[page_idx];
+ const typename ParquetDType::c_type max_value =
typed_index->max_values()[page_idx];
if constexpr (std::is_same_v<ParquetDType, ::parquet::Int64Type>) {
if (!timestamp_min_max_is_safe(column_schema, min_value, max_value,
timezone)) {
return false;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]