Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get rid of column tags #7772

Open
zachmu opened this issue Apr 22, 2024 · 0 comments
Open

Get rid of column tags #7772

zachmu opened this issue Apr 22, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@zachmu
Copy link
Member

zachmu commented Apr 22, 2024

In general Dolt databases are history independent: if two tables have the same schema and data, they have the same hash.

Column tags can violate this property. It's possible for two different series of ALTER TABLE statements to produce two schemas that are identical except for their column tags, meaning that they don't have the same hash. This is especially frustrating because the diff between these two table revisions is invisible to the customer, as it cannot be expressed in SQL.

After our new storage format shipped, the only product reason to keep tags was to be able to identify a column rename. This is useful, but maybe not useful enough to justify violating history independence. There are other ways to handle column renames (.e.g. a merge strategy that lets the customer declare a column rename explicitly, or simple heuristics like git uses to detect renames). Tag issues, when they occur, are so frustrating that to understand and debug that it may be worthwhile to lose deterministic column renames for.

@zachmu zachmu added the enhancement New feature or request label Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant