fallintoplace opened a new pull request, #334:
URL: https://github.com/apache/paimon-rust/pull/334

   ## What changed
   
   This adds centralized path-safe identifier validation and enforces it in 
`FileSystemCatalog` before database or table paths are constructed.
   
   The filesystem catalog now rejects database and object names that are empty 
or whitespace-only, `.`, `..`, contain `/` or `\`, or contain control 
characters. The existing `Identifier::new` API remains compatible, while 
`Identifier::try_new` and `Identifier::validate` provide checked construction 
and validation.
   
   The C binding constructor now uses the checked identifier path and returns 
`IdentifierInvalid` for unsafe names.
   
   ## Why
   
   Filesystem catalog paths are derived from database and table names. Without 
validation, path-control input can escape the intended warehouse namespace on 
local filesystem storage.
   
   Fixes #333.
   
   ## Validation
   
   - `cargo test -p paimon catalog::`
   - `cargo test -p paimon-c`
   - `cargo check --workspace --all-targets`
   - `cargo fmt --check`
   - `git diff --check`


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