chore: check schema when create table branch #19231
Draft
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.
I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/
Summary
This PR tightens schema safety guarantees around table branches by introducing additional validation in branch creation and schema-altering operations.
1. Branch creation schema validation
When creating a branch, the system now verifies that the snapshot used as the branch base has the same schema as the current table.
If the schemas differ, branch creation will fail with an explicit error.
This prevents branches from being created on top of incompatible or outdated schemas.
2. Restrict schema rebuild operations with active branches
For
ADD COLUMNandMODIFY COLUMNoperations that require data rebuild, the system now checks whether the table has any active branches.If active branches exist, the operation is rejected.
This avoids introducing inconsistencies between the main table and its branches during schema-altering rebuilds.
Tests
Type of change
This change is