GTrunSec opened a new pull request, #977:
URL: https://github.com/apache/incubator-graphar/pull/977

   ### Reason for this PR
   
   Closes #976.
   
   The in-tree Rust binding exposes vertex data builders and edge metadata, but 
it cannot write edge data even though the C++ implementation already owns 
`graphar::builder::Edge` and `EdgesBuilder`. Rust consumers therefore cannot 
stay on the upstream GraphAr writer path for graph-shaped data.
   
   ### What changes are included in this PR?
   
   - expose safe Rust `Edge` and `EdgesBuilder` wrappers over the existing C++ 
implementation;
   - support endpoint inspection and bool/i32/i64/f32/f64/string edge 
properties;
   - reject negative internal vertex IDs and unavailable adjacency layouts;
   - use upstream strong schema validation for every added edge;
   - propagate Arrow include paths returned by pkg-config into the CXX bridge;
   - retain the original pkg-config error in build failures for actionable 
diagnostics.
   
   No GraphAr encoding, metadata format, or chunk layout is reimplemented in 
Rust.
   
   ### Are these changes tested?
   
   Yes. New tests cover endpoint/property access, negative IDs, successful 
upstream chunk writing, unavailable adjacency layouts, and strong schema 
rejection. Locally:
   
   - `cargo test`: 58 passed;
   - `cargo clippy --tests --no-deps -- -D warnings`: passed;
   - `cargo test --doc`: passed;
   - `cargo doc --lib --no-deps`: passed;
   - `cargo fmt --all -- --check`: passed.
   
   ### Are there any user-facing changes?
   
   Yes. Rust users gain public `graphar_rs::builder::{Edge, EdgesBuilder}` 
APIs. Existing APIs are unchanged.
   
   ## Checklist
   
   - [x] I have performed a self-review of my own code.
   - [x] I have formatted my own code using `make cpplint` before submitting 
when changed files are in the `cpp` directory. (No files under `cpp/` changed.)
   - [x] I have performed `pre-commit run` on the changed files before 
submission; the Rust format gate was also run directly through the project 
Cargo environment.
   - [x] I have added tests to prove my changes are effective.
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to