shyjsarah opened a new issue, #575:
URL: https://github.com/apache/paimon-rust/issues/575
### Search before asking
- [x] I searched the existing issues and found nothing similar.
### Please describe the bug
In the DataFusion integration, `SHOW TABLES` is evaluated through
`information_schema.tables`. DataFusion asks each schema provider for the type
of every listed table. The default `SchemaProvider::table_type` implementation
calls `table(name)`, which makes the Paimon schema provider load the full table
provider and initialize its FileIO.
As a result, metadata listing can fail when a catalog can list a table but
the table's storage is not accessible from the current client. `SHOW TABLES`
should only require catalog metadata; an actual query against that table should
continue to load the provider and report any storage error.
A minimal reproduction is a catalog implementation where:
- `list_tables("default")` returns `metadata_only`
- `get_table(...)` returns an error indicating that table loading is
unavailable
- executing `SHOW TABLES` currently propagates that error
Expected behavior: `SHOW TABLES` lists `metadata_only` without calling
`get_table`.
### Solution
Override `PaimonSchemaProvider::table_type` and reuse table/view types
collected by `table_names`. Temporary objects should retain their
provider-reported type, catalog views should remain `VIEW`, and direct table
reads should keep the existing lazy-loading behavior.
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
--
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]