Skip to content

Conversation

@phillipleblanc
Copy link

What changes are included in this PR?

Makes the IcebergTableProvider::try_new method public that takes an Arc<dyn Catalog> and a TableIdent. It uses that to get the current table metadata when the DataFusion TableProvider is created - but it also stores a reference to the Arc<dyn Catalog>. When the DataFusion TableProvider is asked to scan the table, it uses the catalog to fetch the latest table metadata.

This allows the TableProvider to get the latest changes to the Iceberg table, as opposed to being stuck on the snapshot when the table was created. This aligns closer to the expectation of using DataFusion TableProviders, where the scan is expected to scan the latest data.

Are these changes tested?

Covered by the existing integration tests at crates/integrations/datafusion/tests/integration_datafusion_test.rs

@phillipleblanc phillipleblanc merged commit 58308b2 into spiceai-0.4.0-df-45 May 5, 2025
2 checks passed
@phillipleblanc phillipleblanc deleted the phillip/250501-dynamic-table-df-45 branch May 7, 2025 01:32
phillipleblanc added a commit that referenced this pull request May 7, 2025
* Allow resolving the current snapshot ID to use on a scan from a callback function

* Use table_fn

* Fix

* Just pass a reference to the catalog

* make public

* Just take table ident

* lint
phillipleblanc added a commit that referenced this pull request May 7, 2025
* Allow resolving the current snapshot ID to use on a scan from a callback function

* Use table_fn

* Fix

* Just pass a reference to the catalog

* make public

* Just take table ident

* lint
phillipleblanc added a commit that referenced this pull request Jul 15, 2025
* Allow resolving the current snapshot ID to use on a scan from a callback function

* Use table_fn

* Fix

* Just pass a reference to the catalog

* make public

* Just take table ident

* lint
sgrebnov pushed a commit that referenced this pull request Sep 25, 2025
peasee pushed a commit that referenced this pull request Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants