lxy-9602 opened a new pull request, #24: URL: https://github.com/apache/paimon-cpp/pull/24
<!-- Please specify the module before the PR name: feat: ... or fix: ... --> ### Purpose <!-- Linking this pull request to the issue --> No Linked issue. <!-- What is the purpose of the change --> Migrate `common/data/columnar/` module. This module provides columnar data access layer built on top of Apache Arrow arrays, including: - **ColumnarArray**: Access vector column data for array types - **ColumnarMap**: Access vector column data for map types - **ColumnarRow**: Row view over arrow::Array with per-row field access - **ColumnarRowRef**: Lightweight row view sharing batch-level context to reduce per-row overhead - **ColumnarUtils**: Utility functions for reading Arrow arrays (including dictionary-encoded arrays) - **ColumnarBatchContext**: Shared batch context struct for ColumnarRowRef Also migrates the dependency `DateTimeUtils` (timestamp conversion utilities). ### Tests - `columnar_utils_test.cpp` — Tests GetView/GetBytes for plain and dictionary-encoded string arrays - `columnar_array_test.cpp` — Tests all primitive types, complex/nested types (struct, list, map, decimal, timestamp), and null handling - `columnar_row_test.cpp` — Tests ColumnarRow and ColumnarRowRef for simple types, complex/nested types, dictionary types, null handling, data lifecycle, and binary access <!-- List UT and IT cases to verify this change --> ### API and Format <!-- Does this change affect API in include dir or storage format or protocol --> ### Documentation <!-- Does this change introduce a new feature --> ### Generative AI tooling <!-- If generative AI tooling has been used in the process of authoring this patch, please include the phrase: 'Generated-by: ' followed by the name of the tool and its version. If no, write 'No'. Please refer to the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) for details. --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
