feat: introduce base utilities including Status, Defs, Executor, and MemoryPool - #2
Conversation
leaves12138
left a comment
There was a problem hiding this comment.
Thanks for migrating the base utilities. I compared the added files with the existing source snapshot; most of the code matches the source migration with ASF header normalization, and a lightweight public-header syntax check passes.
One blocker before merge: this PR introduces files that carry third-party attribution markers, but it does not update LICENSE / NOTICE for those newly introduced files.
Examples:
include/paimon/compare.h,include/paimon/macros.h,include/paimon/status.h,include/paimon/string_builder.h, andsrc/paimon/common/utils/status.cppare marked as adapted from Apache Arrow / LevelDB.src/paimon/testing/utils/testharness.cppandsrc/paimon/testing/utils/testharness.hare marked as adapted from RocksDB / LevelDB.
Please add the corresponding Apache Arrow and RocksDB / LevelDB attribution/license entries to LICENSE and NOTICE in this PR, scoped to the files introduced here. After that I can re-review the migration.
leaves12138
left a comment
There was a problem hiding this comment.
Thanks for the update. The Apache Arrow attribution has been added and covers the Arrow-derived files introduced here.
There is still one small licensing blocker: the RocksDB / LevelDB license text and NOTICE are already present from PR #5, but the LICENSE section currently lists only src/paimon/common/utils/math.h and src/paimon/common/utils/uuid.h under RocksDB. This PR also introduces RocksDB-derived assertion utilities in src/paimon/testing/utils/testharness.cpp and src/paimon/testing/utils/testharness.h, and those paths should be added to the existing RocksDB section to keep the attribution list accurate.
After that update, the migration looks good to me.
leaves12138
left a comment
There was a problem hiding this comment.
Thanks for the update. The Apache Arrow attribution is now present, and the existing RocksDB / LevelDB section now includes the testharness.cpp / testharness.h files introduced by this PR. The migrated files are consistent with the staged source migration, and the lightweight public-header syntax check passes. LGTM.

Purpose
No Linked issue.
Introduce the foundational utility modules from alibaba/paimon-cpp to bootstrap the apache/paimon-cpp codebase. These modules provide core infrastructure (status handling, type definitions, memory management, executor) that other components depend on.
Status,Result<T>, and related utilities (status.cpp,status_test.cpp,status_utils.h)defs.h,defs.cpp,type_fwd.h)Executorinterface and default implementation (executor.h,executor.cpp)MemoryPoolandByteswith unit tests (memory_pool.h/cpp,memory_pool_test.cpp,bytes.h/cpp,bytes_test.cpp)compare.h,macros.h,string_builder.h,result.h,traits.h,visibility.hTests
status_test.cpp— Status and Result type correctnessmemory_pool_test.cpp— MemoryPool allocation and lifecyclebytes_test.cpp— Bytes buffer operationsAPI and Format
Documentation
Generative AI tooling