This is an automated email from the ASF dual-hosted git repository.

lxy-9602 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/paimon-cpp.git


The following commit(s) were added to refs/heads/main by this push:
     new 0dc78eb1 feat: expose BlobDescriptor as public API (#377)
0dc78eb1 is described below

commit 0dc78eb164d097ff1a14ef7a58ab5853b3b9cb37
Author: Smith Cruise <[email protected]>
AuthorDate: Mon Sep 21 14:54:04 2026 +0800

    feat: expose BlobDescriptor as public API (#377)
---
 {src/paimon/common => include/paimon}/data/blob_descriptor.h     | 4 +---
 src/paimon/common/data/blob.cpp                                  | 2 +-
 src/paimon/common/data/blob_descriptor.cpp                       | 9 ++++++++-
 src/paimon/common/data/blob_descriptor_test.cpp                  | 2 +-
 src/paimon/common/data/blob_utils.cpp                            | 2 +-
 src/paimon/common/data/blob_utils_test.cpp                       | 2 +-
 .../common/reader/blob_view_resolving_batch_reader_test.cpp      | 2 +-
 src/paimon/core/append/append_only_writer_test.cpp               | 2 +-
 src/paimon/core/utils/blob_view_lookup.cpp                       | 2 +-
 src/paimon/format/blob/blob_format_writer.cpp                    | 2 +-
 src/paimon/format/blob/blob_format_writer_test.cpp               | 2 +-
 src/paimon/testing/utils/test_helper.h                           | 2 +-
 test/inte/blob_table_inte_test.cpp                               | 2 +-
 test/inte/paimon_read_compat_inte_test.cpp                       | 2 +-
 14 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/src/paimon/common/data/blob_descriptor.h 
b/include/paimon/data/blob_descriptor.h
similarity index 94%
rename from src/paimon/common/data/blob_descriptor.h
rename to include/paimon/data/blob_descriptor.h
index ea41c97d..ce53ea2d 100644
--- a/src/paimon/common/data/blob_descriptor.h
+++ b/include/paimon/data/blob_descriptor.h
@@ -26,6 +26,7 @@
 #include "paimon/memory/bytes.h"
 #include "paimon/memory/memory_pool.h"
 #include "paimon/result.h"
+#include "paimon/visibility.h"
 
 namespace paimon {
 /// Blob descriptor to describe a blob reference.
@@ -78,9 +79,6 @@ class PAIMON_EXPORT BlobDescriptor {
         : version_(version), uri_(uri), offset_(offset), length_(length) {}
 
  private:
-    static constexpr int64_t kMagic = 0x424C4F4244455343l;
-    /// one byte for version, eight bytes for magic number.
-    static constexpr uint64_t kMinDescriptorLength = 9;
     static constexpr int8_t kCurrentVersion = 2;
 
     const int8_t version_ = kCurrentVersion;
diff --git a/src/paimon/common/data/blob.cpp b/src/paimon/common/data/blob.cpp
index 0c706aaa..707dd475 100644
--- a/src/paimon/common/data/blob.cpp
+++ b/src/paimon/common/data/blob.cpp
@@ -23,12 +23,12 @@
 #include <utility>
 
 #include "arrow/c/bridge.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_utils.h"
 #include "paimon/common/io/offset_input_stream.h"
 #include "paimon/common/utils/arrow/status_utils.h"
 #include "paimon/common/utils/path_util.h"
 #include "paimon/common/utils/stream_utils.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/memory/bytes.h"
 #include "paimon/status.h"
 
diff --git a/src/paimon/common/data/blob_descriptor.cpp 
b/src/paimon/common/data/blob_descriptor.cpp
index c262ebf1..5a020c9f 100644
--- a/src/paimon/common/data/blob_descriptor.cpp
+++ b/src/paimon/common/data/blob_descriptor.cpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-#include "paimon/common/data/blob_descriptor.h"
+#include "paimon/data/blob_descriptor.h"
 
 #include <utility>
 
@@ -31,6 +31,13 @@
 #include "paimon/status.h"
 
 namespace paimon {
+namespace {
+
+constexpr int64_t kMagic = 0x424C4F4244455343l;
+// One byte for version, eight bytes for magic number.
+constexpr uint64_t kMinDescriptorLength = 9;
+
+}  // namespace
 
 Result<std::unique_ptr<BlobDescriptor>> BlobDescriptor::Create(const 
std::string& uri,
                                                                int64_t offset, 
int64_t length) {
diff --git a/src/paimon/common/data/blob_descriptor_test.cpp 
b/src/paimon/common/data/blob_descriptor_test.cpp
index 1fbd9de0..e1a3168f 100644
--- a/src/paimon/common/data/blob_descriptor_test.cpp
+++ b/src/paimon/common/data/blob_descriptor_test.cpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-#include "paimon/common/data/blob_descriptor.h"
+#include "paimon/data/blob_descriptor.h"
 
 #include <memory>
 #include <vector>
diff --git a/src/paimon/common/data/blob_utils.cpp 
b/src/paimon/common/data/blob_utils.cpp
index d7d8f336..6c52a9c0 100644
--- a/src/paimon/common/data/blob_utils.cpp
+++ b/src/paimon/common/data/blob_utils.cpp
@@ -28,12 +28,12 @@
 #include "arrow/type.h"
 #include "fmt/format.h"
 #include "paimon/common/data/blob_defs.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_view_struct.h"
 #include "paimon/common/types/data_field.h"
 #include "paimon/common/utils/arrow/status_utils.h"
 #include "paimon/common/utils/checked_cast.h"
 #include "paimon/common/utils/string_utils.h"
+#include "paimon/data/blob_descriptor.h"
 namespace arrow {
 class Array;
 }
diff --git a/src/paimon/common/data/blob_utils_test.cpp 
b/src/paimon/common/data/blob_utils_test.cpp
index d58206b7..e523e5f7 100644
--- a/src/paimon/common/data/blob_utils_test.cpp
+++ b/src/paimon/common/data/blob_utils_test.cpp
@@ -24,11 +24,11 @@
 #include "gtest/gtest.h"
 #include "paimon/catalog/identifier.h"
 #include "paimon/common/data/blob_defs.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_view_struct.h"
 #include "paimon/common/types/data_field.h"
 #include "paimon/common/utils/checked_cast.h"
 #include "paimon/data/blob.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/memory/memory_pool.h"
 #include "paimon/testing/utils/testharness.h"
 
diff --git a/src/paimon/common/reader/blob_view_resolving_batch_reader_test.cpp 
b/src/paimon/common/reader/blob_view_resolving_batch_reader_test.cpp
index 2e8e147a..7b257dfa 100644
--- a/src/paimon/common/reader/blob_view_resolving_batch_reader_test.cpp
+++ b/src/paimon/common/reader/blob_view_resolving_batch_reader_test.cpp
@@ -33,12 +33,12 @@
 #include "arrow/c/bridge.h"
 #include "gtest/gtest.h"
 #include "paimon/catalog/identifier.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_utils.h"
 #include "paimon/common/data/blob_view_struct.h"
 #include "paimon/common/metrics/metrics_impl.h"
 #include "paimon/common/utils/arrow/mem_utils.h"
 #include "paimon/common/utils/arrow/status_utils.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/memory/bytes.h"
 #include "paimon/memory/memory_pool.h"
 #include "paimon/reader/batch_reader.h"
diff --git a/src/paimon/core/append/append_only_writer_test.cpp 
b/src/paimon/core/append/append_only_writer_test.cpp
index f1bf63ce..9e20015a 100644
--- a/src/paimon/core/append/append_only_writer_test.cpp
+++ b/src/paimon/core/append/append_only_writer_test.cpp
@@ -37,7 +37,6 @@
 #include "arrow/type.h"
 #include "arrow/util/key_value_metadata.h"
 #include "gtest/gtest.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_utils.h"
 #include "paimon/common/data/blob_view_struct.h"
 #include "paimon/common/data/shredding/map_shared_shredding_utils.h"
@@ -55,6 +54,7 @@
 #include "paimon/core/manifest/file_source.h"
 #include "paimon/core/stats/simple_stats.h"
 #include "paimon/core/utils/commit_increment.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/defs.h"
 #include "paimon/file_index/file_index_format.h"
 #include "paimon/format/file_format_factory.h"
diff --git a/src/paimon/core/utils/blob_view_lookup.cpp 
b/src/paimon/core/utils/blob_view_lookup.cpp
index d0b2ead7..99e7dc83 100644
--- a/src/paimon/core/utils/blob_view_lookup.cpp
+++ b/src/paimon/core/utils/blob_view_lookup.cpp
@@ -28,12 +28,12 @@
 #include "arrow/c/bridge.h"
 #include "fmt/format.h"
 #include "paimon/catalog/catalog.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/executor/future.h"
 #include "paimon/common/table/special_fields.h"
 #include "paimon/common/utils/arrow/status_utils.h"
 #include "paimon/common/utils/checked_cast.h"
 #include "paimon/common/utils/path_util.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/defs.h"
 #include "paimon/executor.h"
 #include "paimon/global_index/bitmap_global_index_result.h"
diff --git a/src/paimon/format/blob/blob_format_writer.cpp 
b/src/paimon/format/blob/blob_format_writer.cpp
index e02dfb60..215e4c8d 100644
--- a/src/paimon/format/blob/blob_format_writer.cpp
+++ b/src/paimon/format/blob/blob_format_writer.cpp
@@ -25,7 +25,6 @@
 #include "arrow/api.h"
 #include "arrow/c/bridge.h"
 #include "paimon/common/data/blob_defs.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_utils.h"
 #include "paimon/common/memory/memory_segment_utils.h"
 #include "paimon/common/metrics/metrics_impl.h"
@@ -33,6 +32,7 @@
 #include "paimon/common/utils/checked_cast.h"
 #include "paimon/common/utils/delta_varint_compressor.h"
 #include "paimon/data/blob.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/fs/file_system.h"
 #include "paimon/io/byte_array_input_stream.h"
 #include "paimon/logging.h"
diff --git a/src/paimon/format/blob/blob_format_writer_test.cpp 
b/src/paimon/format/blob/blob_format_writer_test.cpp
index b0edbe3b..defee5b5 100644
--- a/src/paimon/format/blob/blob_format_writer_test.cpp
+++ b/src/paimon/format/blob/blob_format_writer_test.cpp
@@ -24,12 +24,12 @@
 
 #include "arrow/c/bridge.h"
 #include "gtest/gtest.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/utils/arrow/mem_utils.h"
 #include "paimon/common/utils/arrow/status_utils.h"
 #include "paimon/common/utils/checked_cast.h"
 #include "paimon/common/utils/stream_utils.h"
 #include "paimon/data/blob.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/format/blob/blob_file_batch_reader.h"
 #include "paimon/fs/local/local_file_system.h"
 #include "paimon/testing/utils/read_result_collector.h"
diff --git a/src/paimon/testing/utils/test_helper.h 
b/src/paimon/testing/utils/test_helper.h
index 10aa0a24..2bc1e9bb 100644
--- a/src/paimon/testing/utils/test_helper.h
+++ b/src/paimon/testing/utils/test_helper.h
@@ -33,7 +33,6 @@
 #include "paimon/api.h"
 #include "paimon/catalog/catalog.h"
 #include "paimon/commit_context.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_utils.h"
 #include "paimon/common/types/data_field.h"
 #include "paimon/common/utils/arrow/status_utils.h"
@@ -47,6 +46,7 @@
 #include "paimon/core/utils/file_store_path_factory.h"
 #include "paimon/core/utils/snapshot_manager.h"
 #include "paimon/data/blob.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/file_store_commit.h"
 #include "paimon/file_store_write.h"
 #include "paimon/fs/file_system_factory.h"
diff --git a/test/inte/blob_table_inte_test.cpp 
b/test/inte/blob_table_inte_test.cpp
index 2a3a37d1..40f0625f 100644
--- a/test/inte/blob_table_inte_test.cpp
+++ b/test/inte/blob_table_inte_test.cpp
@@ -45,7 +45,6 @@
 #include "paimon/common/data/binary_row.h"
 #include "paimon/common/data/binary_row_writer.h"
 #include "paimon/common/data/blob_defs.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/blob_utils.h"
 #include "paimon/common/data/blob_view_struct.h"
 #include "paimon/common/factories/io_hook.h"
@@ -61,6 +60,7 @@
 #include "paimon/core/utils/file_utils.h"
 #include "paimon/core/utils/snapshot_manager.h"
 #include "paimon/data/blob.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/defs.h"
 #include "paimon/file_store_write.h"
 #include "paimon/format/mosaic/mosaic_format_defs.h"
diff --git a/test/inte/paimon_read_compat_inte_test.cpp 
b/test/inte/paimon_read_compat_inte_test.cpp
index 5948f0ef..0af1dd1f 100644
--- a/test/inte/paimon_read_compat_inte_test.cpp
+++ b/test/inte/paimon_read_compat_inte_test.cpp
@@ -29,8 +29,8 @@
 #include "arrow/api.h"
 #include "arrow/ipc/json_simple.h"
 #include "gtest/gtest.h"
-#include "paimon/common/data/blob_descriptor.h"
 #include "paimon/common/data/variant/generic_variant.h"
+#include "paimon/data/blob_descriptor.h"
 #include "paimon/defs.h"
 #include "paimon/read_context.h"
 #include "paimon/reader/batch_reader.h"

Reply via email to