feat: support update table for memory catalog #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request enhances the functionality of the
MemoryCatalogby adding support for updating tables, including handling metadata updates and snapshots. The changes primarily focus on implementing table update logic and modifying the namespace state to accommodate metadata location updates.Enhancements to table update functionality:
Added support for
update_tableinMemoryCatalog: Implemented logic to update table metadata, handle snapshot additions, and manage snapshot references. The new implementation reads the current metadata, applies updates, generates new metadata, writes it to a new location, and updates the namespace state accordingly. (crates/catalog/memory/src/catalog.rs, crates/catalog/memory/src/catalog.rsL274-R343)Introduced
TableUpdatetoMemoryCatalog: Updated imports to includeTableUpdate, which is used to apply specific update operations during table updates. (crates/catalog/memory/src/catalog.rs, crates/catalog/memory/src/catalog.rsL29-R29)Modifications to namespace state:
update_table_locationmethod toNamespaceState: Implemented a method to update the metadata location of a table within the namespace state, ensuring the catalog reflects the latest table metadata. (crates/catalog/memory/src/namespace_state.rs, crates/catalog/memory/src/namespace_state.rsR298-R313)