Skip to content

feat(parser): add support for ClickHouse [LEFT] ARRAY JOIN syntax - #2482

Merged
manticore-projects merged 4 commits into
JSQLParser:masterfrom
watashi-00:feature/clickhouse-array-join
Aug 18, 2026
Merged

feat(parser): add support for ClickHouse [LEFT] ARRAY JOIN syntax#2482
manticore-projects merged 4 commits into
JSQLParser:masterfrom
watashi-00:feature/clickhouse-array-join

Conversation

@watashi-00

Copy link
Copy Markdown
Contributor

Summary

Implements support for ClickHouse ARRAY JOIN and LEFT ARRAY JOIN clauses in SELECT statements, enabling unnesting array columns into separate rows.

Fixes #2468

Changes

  • Grammar (JSqlParserCC.jjt): Added grammar support for [LEFT] ARRAY JOIN and adjusted isAliasAhead() / isReservedKeywordSafeByFollower() to prevent LEFT / ARRAY from being wrongly recognized as table aliases.
  • AST (Join.java): Added isArray() / setArray() and updated join formatting.
  • Tests (SelectTest.java): Added testClickHouseArrayJoin() with parse/deparse assertions and AST validation.
  • Documentation: Updated README.md under supported extensions.

Checklist

  • assertSqlCanBeParsedAndDeparsed() executed for new syntax
  • Full test suite passing (0 failures)
  • mvn checkstyle:check passed with 0 violations
  • Clean commit history rebased on upstream/master

@watashi-00
watashi-00 marked this pull request as ready for review August 18, 2026 01:24
@watashi-00
watashi-00 marked this pull request as draft August 18, 2026 01:31
@watashi-00
watashi-00 marked this pull request as ready for review August 18, 2026 01:32
Comment thread src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt
@manticore-projects

Copy link
Copy Markdown
Contributor

Thank you for your contribution!

@manticore-projects
manticore-projects merged commit 5c86877 into JSQLParser:master Aug 18, 2026
6 of 7 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.

[BUG] JSQLParser 5.4-SNAPSHOT : ClickHouse : ARRAY JOIN / LEFT ARRAY JOIN not supported in SELECT

2 participants