• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

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

Build:
Build:
LAST BUILD BRANCH: fix/surface-lexer-errors
DEFAULT BRANCH: master
Ran 06 Jul 2026 07:43AM UTC
Jobs 1
Files 17
Run time 1min
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

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

Uncovered Changes

Lines Coverage ∆ File
4
80.75
-2.53% parser/parser_common.go
2
97.92
0.97% parser/lexer.go
1
69.87
1.07% parser/parser_table.go

Coverage Regressions

Lines Coverage ∆ File
1542
16.86
4.04% parser/ast.go
379
42.65
0.89% parser/walk.go
350
69.87
1.07% parser/parser_table.go
202
77.08
0.32% parser/parser_column.go
181
73.32
0.1% parser/parser_alter.go
159
75.94
0.59% parser/parser_query.go
61
80.75
-2.53% parser/parser_common.go
32
51.17
0.2% parser/parse_system.go
5
97.92
0.97% parser/lexer.go
1
87.7
-0.03% parser/format.go
Jobs
ID Job ID Ran Files Coverage
1 28775814529.1 06 Jul 2026 07:43AM UTC 17
54.33
GitHub Action Run
Source Files on build 28775814529
  • Tree
  • List 17
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #281
  • PR Base - master (#28708462567)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc