Support automatic schema merging for collation changes
- Dominant language
- Go
- Stars
- 24.4k
- Forks
- 873
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 120
Description
Dolt currently treats charset/collation changes as schema conflicts and requires the user to manually apply schema changes to bring the schemas in sync before they can be successfully merged. We should be able to merge charset/collation changes automatically. Charset changes will require re-encoding any string data in the new charset (i.e. a table rewrite). Collation changes won't require re-encoding the data, but they do affect the order rows are stored in indexes, so they may still require rewriting secondary indexes if the index includes the affected column. We don't currently support any automatic merges where the primary key has changed, but if a PK column went through a collation change, it would also require a table rewrite to ensure the rows are in the correct order for the new collation.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by tracing schema-conflict handling for charset and collation changes, then identify how table rewrites, secondary indexes, and primary-key ordering are handled. Done means compatible charset and collation changes merge automatically with required rewrites, while unsupported primary-key changes remain bounded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, sql
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100