wangyong9999 opened a new pull request, #315:
URL: https://github.com/apache/paimon-cpp/pull/315

   ### Purpose
   
   Closes #313.
   
   Add optional Lance file-format support aligned with Apache Paimon Java and 
Lance 0.39.0.
   
   - add a Corrosion-based Rust FFI plugin for direct Lance reads and writes;
   - support projection, missing-column null filling, empty projection, exact 
bitmap selection, and file row IDs;
   - integrate row counts, schema validation, compaction, data evolution, 
deletion vectors, and VECTOR columns;
   - translate canonical and Java/Python-compatible S3 options plus Paimon OSS 
options, with `lance.storage.*` as the explicit override;
   - keep Lance disabled by default and enable it in CI.
   
   ### Tests
   
   - GCC 8 Debug build with `PAIMON_ENABLE_LANCE=ON`
   - full CTest suite: 30/30 targets passed
   - Lance unit tests: 8/8 passed
   - Rust `cargo test --locked`: 1/1 passed
   - Rust `cargo fmt --check` and `cargo clippy -- -D warnings`
   - all pre-commit hooks
   - source archive layout and Apache RAT validation
   - installed shared-plugin consumer smoke test
   - Java 0.39.0 -> C++ fixture read
   - C++ -> Java 0.39.0 direct read; the reciprocal files have the same SHA-256
   
   ### API and Format
   
   This adds the optional `lance` file-format factory and the 
`PAIMON_ENABLE_LANCE` CMake option. It writes the same Lance 0.39.0 default 
file encoding as the Java implementation and does not change existing public 
APIs.
   
   As in the Java implementation, Lance does not provide predicate pushdown or 
per-column min/max/null-count statistics. Lance 0.39.0 default v2.0 files also 
do not preserve nullable STRUCT parent validity; supported nested ROW values 
and nullable children are covered separately.
   
   ### Documentation
   
   Updated the build and architecture documentation for the optional Lance 
component, its toolchain requirements, installed shared target, and 
object-store option mapping.
   
   ### Generative AI tooling
   
   Generated-by: Trae IDE (build 3a832493b1976d102e45982d0595db063d332341)
   


-- 
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]

Reply via email to