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

   ### Purpose
   REST catalogs can declare non-Paimon table types via the `type` table option 
(e.g. `type=iceberg-table`, see Java `TableType`). paimon-datafusion currently 
tries to read every table as Paimon, so these tables fail with unrelated 
errors. This PR routes them to pluggable engines instead:
   
     - `paimon::spec::NON_PAIMON_TABLE_TYPES` is the single source of truth 
(currently `iceberg-table`); `register_table_engine` validates against it.
     - `Catalog::load_table_routing` (defaulted) returns 
`RoutedTableLoad::{Paimon, NonPaimon}`; the REST override does one GetTable, 
checks the declared type, and enforces `query-auth` before returning 
`NonPaimon`.
     - Routing lives inside `PaimonCatalogProvider` so downcast paths (temp 
tables, time travel) keep working; `table_exist` mirrors resolution.
     - `RESTEnv::build_table` fails closed on declared non-Paimon types, 
covering all raw `get_table` paths (writes, procedures, time travel). Java 
instead returns a metadata-only `IcebergTable`; a read-only shell can be added 
later if wanted.


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