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

AfterShip / clickhouse-sql-parser
54%
master: 56%

Build:
Build:
LAST BUILD BRANCH: feat/lagr-parser-gaps
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 fix/surface-lexer-errors
branch: fix/surface-lexer-errors
CHANGE BRANCH
x
Reset
Sync Branches
  • fix/surface-lexer-errors
  • 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/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

06 Jul 2026 07:42AM UTC coverage: 54.333% (+1.5%) from 52.881%
28775814529

Pull #281

github

git-hulk
Fail ParseStmts when a recorded lexer error survives to the success path

Review follow-up: lastError was only consulted through wrapError, which
only runs when the parser itself fails. A failed lex can leave the
offset advanced - consumeIdent skips the opening backtick before
discovering the quote is unclosed - so with `SELECT 1 `bad` the
retained input re-lexes cleanly to EOF, parsing reaches the success
path, and the recorded error was silently dropped.

- ParseStmts now fails if lexerState still carries an error when
  parsing reaches end of input.
- peekToken restores the saved state on the error path too, so a failed
  lookahead neither leaves the offset advanced nor records an error for
  input the parser has not actually reached.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pull Request #281: Surface lexer errors instead of misreporting them as EOF

30 of 37 new or added lines in 3 files covered. (81.08%)

2912 existing lines in 10 files now uncovered.

8953 of 16478 relevant lines covered (54.33%)

3025.41 hits per line

Relevant lines Covered
Build:
Build:
16478 RELEVANT LINES 8953 COVERED LINES
3025.41 HITS PER LINE
Source Files on fix/surface-lexer-errors
  • Tree
  • List 17
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28775814529 fix/surface-lexer-errors Fail ParseStmts when a recorded lexer error survives to the success path Review follow-up: lastError was only consulted through wrapError, which only runs when the parser itself fails. A failed lex can leave the offset advanced - consumeIdent ski... Pull #281 06 Jul 2026 07:43AM UTC git-hulk github
54.33
28727805745 fix/surface-lexer-errors Avoid the min builtin for the pinned golangci-lint typechecker CI's golangci-lint predates Go 1.21 builtins and fails typecheck on min() even though go.mod declares go 1.21. Clamp with a plain comparison instead. Co-Authored-By: Claude Fable 5 <... Pull #281 05 Jul 2026 03:09AM UTC git-hulk github
53.33
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