Skip to content

Filter ignored tables from dolt_status and dolt_diff#10529

Merged
nicktobey merged 4 commits intomainfrom
nicktobey_ignore_tables
Feb 20, 2026
Merged

Filter ignored tables from dolt_status and dolt_diff#10529
nicktobey merged 4 commits intomainfrom
nicktobey_ignore_tables

Conversation

@nicktobey
Copy link
Copy Markdown
Contributor

@nicktobey nicktobey commented Feb 18, 2026

Fixes #10524

Ignored tables (tables matching patterns in the dolt_ignore system table) are tables that aren't intended to be staged. We should exclude them from dolt status and dolt diff output unless specifically requested with flags.

There's one questionable part of this PR: how the system tables handle tables that match multiple conflicting patterns. The dolt status and dolt diff CLI commands detect this and display a warning, but there's not currently a way for the dolt_status and dolt_diff system tables to signal these conflicts. So with this PR:

  • System tables treat tables that match conflicting patterns as not ignored
  • CLI commands do an additional check in order to detect conflicts

This PR also removes most of the duplicate logic out of the dolt status command in favor of the dolt_status_ignored system table. We can't remove all the logic because of the aforemenentioned check.

@coffeegoddd
Copy link
Copy Markdown
Contributor

@nicktobey DOLT

comparing_percentages
100.000000 to 100.000000
version result total
7b0aa6d ok 5937471
version total_tests
7b0aa6d 5937471
correctness_percentage
100.0

@nicktobey nicktobey force-pushed the nicktobey_ignore_tables branch from 7b0aa6d to f3de6b7 Compare February 18, 2026 23:54
@coffeegoddd
Copy link
Copy Markdown
Contributor

@nicktobey DOLT

comparing_percentages
100.000000 to 100.000000
version result total
f3de6b7 ok 5937471
version total_tests
f3de6b7 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor

@nicktobey DOLT

comparing_percentages
100.000000 to 100.000000
version result total
525065e ok 5937471
version total_tests
525065e 5937471
correctness_percentage
100.0

@nicktobey nicktobey force-pushed the nicktobey_ignore_tables branch from 525065e to 70dc881 Compare February 19, 2026 10:51
@coffeegoddd
Copy link
Copy Markdown
Contributor

@nicktobey DOLT

comparing_percentages
100.000000 to 100.000000
version result total
70dc881 ok 5937471
version total_tests
70dc881 5937471
correctness_percentage
100.0

Copy link
Copy Markdown
Contributor

@fulghum fulghum left a comment

Choose a reason for hiding this comment

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

Code looks good. We should add some tests for diff on ignored tables. I didn't see any tests covering that case.

Looks like we're also missing documentation for a few of these Dolt system tables we're using. Could you please add docs for dolt_status_ignored, and dolt_nonlocal_tables.

@coffeegoddd
Copy link
Copy Markdown
Contributor

@nicktobey DOLT

comparing_percentages
100.000000 to 100.000000
version result total
e458c59 ok 5937471
version total_tests
e458c59 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor

@nicktobey DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 61.08 61.08 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt ef3919c 37.65 dolt e458c59 38.18 1.41

@nicktobey nicktobey merged commit 72f81a6 into main Feb 20, 2026
26 of 27 checks passed
@nicktobey nicktobey deleted the nicktobey_ignore_tables branch February 20, 2026 00:01
@github-actions
Copy link
Copy Markdown

@coffeegoddd DOLT

name add_cnt delete_cnt update_cnt latency
adds_only 60000 0 0 0.63
adds_updates_deletes 60000 60000 60000 3.14
deletes_only 0 60000 0 1.48
updates_only 0 0 60000 1.9

@github-actions
Copy link
Copy Markdown

@coffeegoddd DOLT

test_name detail row_cnt sorted mysql_time sql_mult cli_mult
batching LOAD DATA 10000 1 0.06 1.67
batching batch sql 10000 1 0.08 1.63
batching by line sql 10000 1 0.08 1.63
blob 1 blob 200000 1 0.92 4.11 4.29
blob 2 blobs 200000 1 0.87 4.78 4.59
blob no blob 200000 1 0.9 2.73 2.66
col type datetime 200000 1 0.83 2.59 2.49
col type varchar 200000 1 0.7 3.73 3.47
config width 2 cols 200000 1 0.76 2.72 2.53
config width 32 cols 200000 1 1.92 3.11 2.73
config width 8 cols 200000 1 0.97 2.8 2.64
pk type float 200000 1 0.81 2.62 2.47
pk type int 200000 1 0.78 2.65 2.45
pk type varchar 200000 1 1.48 1.77 1.59
row count 1.6mm 1600000 1 5.58 3.02 2.76
row count 400k 400000 1 1.44 2.94 2.69
row count 800k 800000 1 2.81 3 2.75
secondary index four index 200000 1 3.58 1.35 1.08
secondary index no secondary 200000 1 0.9 2.76 2.66
secondary index one index 200000 1 1.12 2.62 2.27
secondary index two index 200000 1 1.99 1.8 1.7
sorting shuffled 1mm 1000000 0 5.35 2.75 2.51
sorting sorted 1mm 1000000 1 5.48 2.68 2.45

@github-actions
Copy link
Copy Markdown

@coffeegoddd DOLT

name detail mean_mult
dolt_blame_basic system table 1.17
dolt_blame_commit_filter system table 1.13
dolt_commit_ancestors_commit_filter system table 0.62
dolt_commits_commit_filter system table 1.05
dolt_diff_log_join_from_commit system table 2.71
dolt_diff_log_join_to_commit system table 2.72
dolt_diff_table_from_commit_filter system table 1.21
dolt_diff_table_to_commit_filter system table 1.26
dolt_diffs_commit_filter system table 1.06
dolt_history_commit_filter system table 1.52
dolt_log_commit_filter system table 1.05

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DOLT_DIFF and DOLT_STATUS should omit newly created tables that match DOLT_IGNORE patterns

3 participants