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

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


The following commit(s) were added to refs/heads/main by this push:
     new 84fb526b fix: prevent copying and moving StructLikeAccessor (#993)
84fb526b is described below

commit 84fb526b312c03021c8e0952207d836039342998
Author: Gang Wu <[email protected]>
AuthorDate: Sat Oct 10 17:43:36 2026 +0800

    fix: prevent copying and moving StructLikeAccessor (#993)
---
 src/iceberg/row/struct_like.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/iceberg/row/struct_like.h b/src/iceberg/row/struct_like.h
index 77f84e23..df7315d9 100644
--- a/src/iceberg/row/struct_like.h
+++ b/src/iceberg/row/struct_like.h
@@ -109,6 +109,12 @@ class ICEBERG_EXPORT StructLikeAccessor {
                               std::span<const size_t> position_path,
                               std::vector<bool> is_optional);
 
+  // Deep-path accessors capture this, so the object must keep a stable 
address.
+  StructLikeAccessor(const StructLikeAccessor&) = delete;
+  StructLikeAccessor& operator=(const StructLikeAccessor&) = delete;
+  StructLikeAccessor(StructLikeAccessor&&) = delete;
+  StructLikeAccessor& operator=(StructLikeAccessor&&) = delete;
+
   /// \brief Get the scalar value at the given position.
   /// A null optional parent returns monostate; a null required field is an 
error.
   Result<Scalar> Get(const StructLike& struct_like) const {

Reply via email to