• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

AfterShip / clickhouse-sql-parser
56%

Build:
DEFAULT BRANCH: master
Repo Added 22 Sep 2023 10:13AM UTC
Token F4x2H6fmkWoZPkof5HTWcZ5HSIXKiqDLa regen
Build 580 Last
Files 17
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 14-2
  • add-benchmarks
  • add-coverall
  • add-modify-ttl
  • add-more-badges
  • add-valid-until-clause
  • ajruckman_alter_table_delete_where
  • ajruckman_placeholder_and_select_fix
  • alert-autofix-1
  • allow-string-as-tablename
  • allow-var-start-with-dollar
  • alter-role-settings
  • alter-table-drop-detached
  • auto-version
  • case-statement-when-spacing
  • change-sql-string-to-compact
  • claude/end-not-reserved
  • claude/frosty-wiles-784a80
  • claude/issue-184-20250827-0341
  • claude/romantic-kowalevski-5a7ec1
  • codec-delta-level
  • codex/fix-semantic-traversal
  • copilot/add-beautify-format-alter-role
  • copilot/add-beautify-format-for-create-user
  • copilot/add-beautify-format-instruction
  • copilot/add-beautify-format-support
  • copilot/add-ident-break-for-insert
  • copilot/add-ident-break-for-settings
  • copilot/add-ident-break-from-expression
  • copilot/add-ident-break-on-cluster
  • copilot/add-support-in-partition-expression
  • copilot/fix-12
  • copilot/fix-140
  • copilot/fix-179
  • copilot/fix-181
  • copilot/fix-187
  • copilot/fix-75186bce-1dd8-4e67-bcd7-685469aa2574
  • copilot/fix-e5e3e050-4a0c-4226-8f60-806cafedacba
  • copilot/fix-stderr-routing-issue
  • copilot/refactor-formatter-chaining-methods
  • copilot/update-tool-version-to-0417
  • dev
  • dev1
  • distinct-on
  • feat/add-order-by-with-fill-support
  • feat/alter_modify_query_support
  • feat/lagr-parser-gaps
  • feat_support_db_comment
  • feature/access-tuple-with-index
  • feature/add-projection
  • feature/add-union-distinct
  • feature/adjust_engineExpr_String_printing_order
  • feature/allow-select-modifier
  • feature/alter-table-replace
  • feature/check-expression
  • feature/clear-projection-statement
  • feature/column-def-alias-materialized
  • feature/create-function
  • feature/create-or-replace
  • feature/create-role
  • feature/delete-from
  • feature/drop-projection
  • feature/drop-user-role
  • feature/grant-privilege
  • feature/grouping-sets
  • feature/insert-expr
  • feature/insert-with-type-column
  • feature/materialize-index-and-projection
  • feature/optimize-expression
  • feature/query-parameter
  • feature/rename-table
  • feature/select-in-function
  • feature/support-json-type-skip
  • feature/support-placeholder
  • feature/support-ttl-policy
  • feature/support-tuple
  • feature/timestamp-interval
  • fix-array-join-take-2
  • fix-bugs-1
  • fix-cannot-parse-join-only
  • fix-database-column-name
  • fix-describe-table
  • fix-global-join-modifier
  • fix-interval-column-name
  • fix-materialized-bug
  • fix-no-as-alias
  • fix-order-by-panic
  • fix-panic-in-eof-error
  • fix-parenthesized-set-operator-left-operand
  • fix-select-limit-add-select-final
  • fix-table-function-arg-exprs
  • fix/allow-parameters-for-null-engine
  • fix/alter-table-modify
  • fix/ast-walker
  • fix/between-expr
  • fix/between-visitor
  • fix/cast-expr
  • fix/cast-expr-operand
  • fix/cast-in-table-function-arg
  • fix/column-alias-string
  • fix/create-dictionary-format
  • fix/distinct-keyword-preservation
  • fix/distinct-on-dot-notation
  • fix/dollar-sign
  • fix/dont_stop_walk_nil
  • fix/double-quote-as-ident
  • fix/drop-database-sync
  • fix/expression-precedence
  • fix/group-by-column-with-keyworld
  • fix/insert-into
  • fix/issue-118
  • fix/issue-176
  • fix/issue-187
  • fix/issue-222
  • fix/issues-108
  • fix/keyword-arg-functions
  • fix/keyword-as-column-in-select
  • fix/keyword_alias
  • fix/lexer-numbers-comments-utf8
  • fix/lexer-unterminated-comment-hang
  • fix/modify-ttl
  • fix/multi-join
  • fix/multi-line-comments
  • fix/multi_distinct_except
  • fix/nil-deref-error-formatting
  • fix/npe-unexpected-token
  • fix/panic-invalid-sql
  • fix/parse-comment-literal
  • fix/position-tracking
  • fix/readme
  • fix/remove-extra-leading-space
  • fix/reserved-keyword-split
  • fix/select-as-query
  • fix/select-issues
  • fix/signed-number-after-bracket
  • fix/string-as-table-ident
  • fix/surface-lexer-errors
  • fix/system-reload-on-cluster
  • fix/table-visitor
  • fix/trailing-operator-at-eof
  • fix/traversal-drift
  • fix/union-all
  • fix/walk_when_node
  • fix/when_case_then
  • fix/window_clause
  • fix/wraperror-index-out-of-range
  • fix/wrong-unary-expr-string
  • ft-enhance-json-options
  • improve-lexer
  • improve-rename-syntax
  • improve/parse-expr
  • issue-204
  • issue-23
  • json-type-hints
  • keyword-ident-expression-position
  • lexer-naming
  • lexer-string-escapes
  • master
  • minor-refactor-column-type
  • patch-1
  • project-group-or-order
  • public-api-additions
  • refactor-join-modifiers
  • refactor/allow-to-use-precedence
  • refactor/expect-token-kind
  • refactor/operation-name
  • replicated-database-fix
  • reserved-keyword-split
  • role/alter
  • role/on-cluster-expr
  • select-format
  • select-with-left-join
  • settings-bool-parser
  • sharad/add-comment-support-to-create-view
  • sharad/bug_fix
  • sharad/codec_parser
  • sharad/codec_parser_v3
  • sharad/delta_number_literal
  • sharad/dictionary_v1
  • sharad/fix-mv-comment-before-as
  • sharad/fix-rmv-column-list-engine
  • sharad/mv_definer
  • sharad/named_parameter_v1
  • sharad/table_comment
  • structured-parse-errors
  • support-concat-operator
  • support-multiple-array-joins
  • support-nested-tuple-definitions
  • support-offset-without-limit
  • support-refresh-in-mv
  • support/table-alias-without-as
  • swgillespie/alter-table-segv
  • swgillespie/clickhouse-remotesecure
  • test-automation
  • traversal-drift-test
  • understand-gcd-codec
  • unify-sql-terms
  • update-readme

21 Aug 2026 11:17AM UTC coverage: 56.13% (+0.3%) from 55.794%
32476549010

push

github

web-flow
Add support for CREATE OR REPLACE MATERIALIZED VIEW and TTL GROUP BY (#316)

Identifies two statement shapes the parser currently rejects that were
each validated against a full ClickHouse server (26.7.4.58):
CREATE OR REPLACE MATERIALIZED VIEW and the TTL GROUP BY ... SET action.

115 of 145 new or added lines in 5 files covered. (79.31%)

1 existing line in 1 file now uncovered.

9546 of 17007 relevant lines covered (56.13%)

4069.93 hits per line

Relevant lines Covered
Build:
Build:
17007 RELEVANT LINES 9546 COVERED LINES
4069.93 HITS PER LINE
Source Files on master
  • Tree
  • List 17
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
32476549010 master Add support for CREATE OR REPLACE MATERIALIZED VIEW and TTL GROUP BY (#316) Identifies two statement shapes the parser currently rejects that were each validated against a full ClickHouse server (26.7.4.58): CREATE OR REPLACE MATERIALIZED VIEW an... push 21 Aug 2026 11:18AM UTC web-flow github
56.13
32475607333 feat/lagr-parser-gaps Restrict TTL WHERE clause to the DELETE action ClickHouse rejects a WHERE clause after RECOMPRESS, TO DISK/VOLUME, and GROUP BY; it belongs only to DELETE. Parse it only in the DELETE branch so the other actions leave WHERE unconsumed for the sta... Pull #316 21 Aug 2026 11:11AM UTC marre github
56.13
32473613047 feat/lagr-parser-gaps Lock in greedy TTL GROUP BY key list with a regression test A comma after a TTL GROUP BY key continues the key list, and the engine rejects a trailing TTL action after a comma-separated key (unlike after a complete SET assignment, where the comma... Pull #316 21 Aug 2026 10:52AM UTC marre github
56.12
32469529293 feat/lagr-parser-gaps Extract TTL GROUP BY action parsing into its own function Keep tryParseTTLPolicy's switch declarative: the GROUP BY case now delegates to parseTTLPolicyGroupBy, which owns the key list, the SET assignment probe, and rule construction. Behavior-ne... Pull #316 21 Aug 2026 09:48AM UTC marre github
56.12
32468526788 feat/lagr-parser-gaps Read TTL SET assignments with full expression precedence A TTL SET assignment has no trailing clause to bound the right-hand side, unlike ALTER TABLE UPDATE's IN PARTITION, so parse it with full expression precedence (e.g. SET x = max(y) > 0). Al... Pull #316 21 Aug 2026 09:35AM UTC marre github
56.13
32466841608 feat/lagr-parser-gaps Fix TTL GROUP BY SET parsing, spans, and bare keyword keys - Do not consume the comma separating TTL expressions as a SET assignment separator: probe for the next assignment and roll back when the comma starts the next TTL rule. - Include the... Pull #316 21 Aug 2026 09:20AM UTC marre github
56.1
31553525260 master Fixed usage of reserved keywords as column names (#313) push 12 Aug 2026 01:26AM UTC web-flow github
55.79
31503915111 master Fixed interval operator edge case Pull #313 12 Aug 2026 01:07AM UTC blinkzz github
55.79
31501564641 master Removed unnecessary test Pull #313 11 Aug 2026 02:31PM UTC blinkzz github
55.79
31447673947 master Fix parsing of a parenthesized left operand of a set operator (#312) push 11 Aug 2026 12:56AM UTC web-flow github
55.78
See All Builds (580)

Badge your Repo: clickhouse-sql-parser

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc