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

Removing old schema merge guard #6349

Merged
merged 19 commits into from
Aug 1, 2023
Merged

Removing old schema merge guard #6349

merged 19 commits into from
Aug 1, 2023

Conversation

fulghum
Copy link
Contributor

@fulghum fulghum commented Jul 17, 2023

Before we added support for schema merge conflict reporting, we had a guard in place that would error out for schema changes in merges. This code prevented schema merges that Dolt couldn't handle, but it didn't provide much visibility into the exact schema conflicts. The new schema merge conflict reporting code is able to handle these same cases and provides better visibility into exactly what the schema conflicts are. We've already removed some of the checks from this guard, but there were still a few left in place. This PR completely removes the old schema merge guard code.

The code left in this guard was still protecting against a couple of cases that are now fixed and covered with tests:

  • Collation changes – we weren't properly handling merging changes to a table's default collation. Fixed and tested now.
  • New, non-nullable columns with no default value – new columns that are non-nullable and don't have a default value can't be auto merged since we don't know what value to safely use in the new column for any existing rows, so this now throws an error with instructions on how to fix.

…red through the schema conflict reporting code.
@fulghum fulghum force-pushed the fulghum/schema-merge branch 2 times, most recently from c0dccd0 to f61670f Compare July 17, 2023 21:30
@fulghum fulghum marked this pull request as ready for review July 31, 2023 21:52
@fulghum fulghum requested a review from zachmu July 31, 2023 21:53
Copy link
Member

@zachmu zachmu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@fulghum fulghum merged commit ae40f9c into main Aug 1, 2023
19 checks passed
@github-actions
Copy link

github-actions bot commented Aug 1, 2023

@coffeegoddd DOLT

name add_cnt delete_cnt update_cnt latency
adds_only 60000 0 0 1.11
adds_updates_deletes 60000 60000 60000 5.92
deletes_only 0 60000 0 2.81
updates_only 0 0 60000 3.89

@github-actions
Copy link

github-actions bot commented Aug 1, 2023

@coffeegoddd DOLT

test_name detail row_cnt sorted mysql_time sql_mult cli_mult
batching LOAD DATA 10000 1 0.29 0.28
batching batch sql 10000 1 0.48 0.67
batching by line sql 10000 1 0.53 0.66
blob 1 blob 200000 1 2.28 2.74 2.74
blob 2 blobs 200000 1 2.16 3.77 3.77
blob no blob 200000 1 2.31 1 1.03
col type datetime 200000 1 1.93 1.45 1.52
col type varchar 200000 1 1.8 1.46 1.45
config width 2 cols 200000 1 1.92 0.97 0.93
config width 32 cols 200000 1 4.42 1.14 1.71
config width 8 cols 200000 1 2.17 1.12 1.33
pk type float 200000 1 1.89 0.99 1
pk type int 200000 1 1.78 1.23 1.01
pk type varchar 200000 1 3.2 0.85 0.83
row count 1.6mm 1600000 1 11.39 1.41 1.36
row count 400k 400000 1 3.23 1.17 1.19
row count 800k 800000 1 6.12 1.27 1.25
secondary index four index 200000 1 7.33 0.97 0.8
secondary index no secondary 200000 1 2.21 0.98 1.05
secondary index one index 200000 1 2.66 1.2 1.17
secondary index two index 200000 1 4.6 1 0.87
sorting shuffled 1mm 1000000 0 19 1.02 0.97
sorting sorted 1mm 1000000 1 20.24 0.89 0.87

@github-actions
Copy link

github-actions bot commented Aug 1, 2023

@coffeegoddd DOLT

name mean mean_mult
dolt_blame_basic 29.69 1.38
dolt_blame_commit_filter 209.51 2.98
dolt_commit_ancestors_commit_filter 0.32 0.91
dolt_commits_commit_filter 0.34 0.94
dolt_diff_log_join_from_commit 109.16 1.64
dolt_diff_log_join_to_commit 107.59 1.63
dolt_diff_table_from_commit_filter 0.69 1.23
dolt_diff_table_to_commit_filter 0.66 1.2
dolt_diffs_commit_filter 0.41 1.14
dolt_history_commit_filter 0.6 1.43
dolt_log_commit_filter 0.34 0.94

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants