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

   ### Purpose
   
   Linked issue: N/A (no matching issue found)
   
   Add Spark-compatible partition administration SQL for internal Format Tables 
managed by a REST Catalog. REST partition registrations are treated as 
authoritative so partition commands and table scans use the same metadata 
source.
   
   ### Brief change log
   
   - Add Java-compatible REST partition request/response models and catalog 
operations for listing, creating, and dropping partitions, including 
pagination, batching, and error mapping.
   - Mark eligible internal REST Format Tables as catalog-managed and drive 
scans from registered partitions; unregistered directories stay invisible, 
while registered missing directories are empty only for storage `NotFound` 
errors.
   - Add DataFusion SQL support for:
     - `SHOW PARTITIONS table [PARTITION (...)]`
     - `ALTER TABLE table ADD [IF NOT EXISTS] PARTITION (...) [...]`
     - `ALTER TABLE table DROP [IF EXISTS] PARTITION (...) [, ...]`
     - `[MSCK] REPAIR TABLE table [{ADD|DROP|SYNC} PARTITIONS]`
   - Preserve raw partition values during repair, validate encoded paths before 
mutation, register before directory creation on ADD, unregister before deletion 
on DROP, and keep MSCK repair metadata-only.
   - Document the supported table scope, syntax, behavior, and limitations.
   
   ### Tests
   
   - `cargo fmt --all -- --check`
   - `git diff --check`
   - `cargo test --locked -p paimon --all-targets` — 1967 passed, 1 ignored
   - `cargo test --locked -p paimon-datafusion --lib` — 368 passed
   - `cargo test --locked -p paimon-datafusion --test 
rest_format_partition_sql` — 4 passed
   - `cargo clippy --locked -p paimon -p paimon-datafusion --all-targets -- -D 
warnings`
   - Additional `paimon-datafusion --all-targets` run: 738 passed, 2 ignored; 
the two vector-search tests could not load the environment-provided 
`liblumina_py.so` shared library.
   
   ### API and Format
   
   - Public API: additive only. This adds defaulted `Catalog` partition 
methods, REST partition request/response types, and 
`FormatTablePartitionPaths`; existing catalog implementations remain 
source-compatible.
   - Storage format: unchanged.
   - Behavioral scope: only internal, partitioned REST Format Tables with 
`metastore.partitioned-table=true` and a non-`engine` implementation use 
REST-authoritative partition scans and commands.
   
   ### Documentation
   
   - Update `docs/src/sql.md` with syntax, examples, semantics, and 
supported-table constraints.
   - Add design and implementation-plan documents for REST Format Table 
partition commands.
   


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