Skip to content

Conversation

@hh2110
Copy link
Collaborator

@hh2110 hh2110 commented Nov 30, 2025

Summary

  • Add support for ignoring LowCardinality differences in column comparisons
  • Enhance column equivalence logic to handle IgnoreStringLowCardinalityDifferences flag
  • Add comprehensive test coverage for LowCardinality normalization functionality

Co-Authored-By: Claude noreply@anthropic.com


Note

Adds an ignorable operation to treat LowCardinality(String) and String as equivalent during diffs, wiring it through comparisons/normalization and adding comprehensive tests.

  • Core Diffing/Infra Map:
    • Extend compute_table_columns_diff and columns_are_equivalent to accept ignore_ops, honoring IgnoreStringLowCardinalityDifferences.
    • Use ClickHouse-aware type comparison with low-cardinality normalization.
    • Update simple diff helpers and call sites to pass &[] default.
  • ClickHouse Diff Strategy:
    • Add ignore_low_cardinality to column_types_are_equivalent, json_options_are_equivalent, and nested_are_equivalent.
    • Introduce normalize_column_for_low_cardinality_ignore to strip LowCardinality annotations when ignoring.
  • ClickHouse Mod (execution/normalization):
    • Add IgnorableOperation::IgnoreStringLowCardinalityDifferences and handle it in normalize_table_for_diff to strip LowCardinality annotations.
  • CLI:
    • Update external table change detection to use new compute_table_columns_diff(.., &[]).
  • Tests:
    • Add extensive unit/integration tests covering low-cardinality ignore behavior across columns, nested/JSON types, normalization, and table-level diffs.

Written by Cursor Bugbot for commit 0109f4e. This will update automatically on new commits. Configure here.

@vercel
Copy link

vercel bot commented Nov 30, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
docs-v2 Ready Ready Preview Comment Dec 2, 2025 8:42pm
framework-docs Ready Ready Preview Comment Dec 2, 2025 8:42pm

@hh2110 hh2110 marked this pull request as ready for review November 30, 2025 21:05
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.

3 participants