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

   ### Purpose
   
   Linked issue: close #527
   
   The filesystem catalog could discover a database or table while listing an 
object-store prefix, then reject the same entry when checking the exact path. 
Existing Paimon warehouses often have objects below a prefix without a 
directory marker, so an exact HEAD request is not enough to determine whether a 
database exists.
   
   Table existence also needs to be based on schema files rather than the table 
directory itself. This is the behavior used by the Java filesystem catalog.
   
   ### Brief change log
   
   - Add a directory-aware existence check to `FileIO`.
   - Use directory semantics when checking filesystem catalog databases.
   - Check `schema-0` first, then fall back to other schema IDs when checking 
tables.
   - Filter directories without a valid schema from `list_tables()`.
   - Cover empty directories, markerless prefixes, non-zero schema IDs, and 
incomplete table directories.
   
   ### Tests
   
   - `cargo test -p paimon --all-targets --features fulltext,vortex`
   - `cargo clippy --all-targets --workspace --features fulltext,vortex -- -D 
warnings`
   - `cargo fmt --all -- --check`
   - `cargo check -p paimon --features storage-s3`
   - Tested against a local MinIO container with an empty database, a 
markerless database and table, a table starting at `schema-1`, and an 
incomplete table directory.
   
   ### API and Format
   
   This adds `FileIO::exists_dir()`. There is no storage format change.
   
   ### Documentation
   
   No documentation changes are needed.


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