Skip to content

Conversation

LSturtew
Copy link
Contributor

Brief summary of the change made

Adds support

  • for more complex data types in clickhouse (Enum, Tuple, Nested, Array, JSON)
  • ALIAS columns referencing dictionaries and using other functions.
  • ALTER TABLE MODIFY QUERY statemetns

Are there any other side effects of this change that we should be aware of?

Pull Request checklist

  • Please confirm you have completed any of the necessary steps below.

  • Included test cases to demonstrate any code changes, which may be one or more of the following:

    • .yml rule test cases in test/fixtures/rules/std_rule_cases.
    • .sql/.yml parser test cases in test/fixtures/dialects (note YML files can be auto generated with tox -e generate-fixture-yml).
    • Full autofix test cases in test/fixtures/linter/autofix.
    • Other.
  • Added appropriate documentation for the change.

  • Created GitHub issues for any relevant followup/future enhancements if appropriate.

@LSturtew LSturtew force-pushed the feature/add-more-complex-type-support-clickhouse branch from 9a96933 to f1dfdb0 Compare April 12, 2025 09:48
Copy link
Contributor

github-actions bot commented Apr 12, 2025

Coverage Results ✅

Name    Stmts   Miss  Cover   Missing
-------------------------------------
TOTAL   19591      0   100%

249 files skipped due to complete coverage.

Sequence(
StringParser("NULLABLE", CodeSegment, type="data_type_identifier"),
StringParser("Nullable", CodeSegment, type="data_type_identifier"),
Copy link
Contributor

Choose a reason for hiding this comment

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

Our pattern generally for StringParser() is to uppercase the contents. Can you change your ones to match this?

Sequence(
StringParser("NULLABLE", CodeSegment, type="data_type_identifier"),
Bracketed(Ref("DatatypeSegment")),
),
# LowCardinality(Type)
Sequence(
StringParser("LowCardinality", CodeSegment, type="data_type_identifier"),
Copy link
Contributor

@WittierDinosaur WittierDinosaur Apr 16, 2025

Choose a reason for hiding this comment

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

Theres abunch more - like here, can you fix them all?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think now I did. I had not used all caps because clickhouse is quite sensitive to the casing and does not accept all caps for data types.

Co-authored-by: Danny Jones <51742311+WittierDinosaur@users.noreply.github.com>
@WittierDinosaur WittierDinosaur changed the title add support for more complexe types and functions in table definition… Clickhouse: support more complex types and functions in table definition Apr 16, 2025
Copy link
Contributor

@WittierDinosaur WittierDinosaur left a comment

Choose a reason for hiding this comment

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

LGTM

@WittierDinosaur WittierDinosaur added this pull request to the merge queue Apr 16, 2025
Merged via the queue into sqlfluff:main with commit 3a58e50 Apr 16, 2025
28 checks passed
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