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

orneryd / NornicDB / 36367670671
87%

Build:
DEFAULT BRANCH: main
Ran 28 Sep 2026 02:07AM UTC
Jobs 1
Files 654
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

28 Sep 2026 01:52AM UTC coverage: 86.995% (+0.004%) from 86.991%
36367670671

push

github

orneryd
fix(cypher): reject NOT IN, dangling list commas, doubled quotes, dangling UNWIND

#514 family, validator side: statements Neo4j rejects were accepted.

- `x NOT IN [list]` is now a SyntaxError on every route; the Cypher
  negation `NOT x IN [list]` keeps working, as does `NOT (x IN [list])`.
  Quoted/comment text never matches.
- A list literal with a trailing or leading comma (`[1, 2,]`, `[, 1]`,
  `[[1],]`) is a SyntaxError.
- Adjacent string literals (`'a''b'`) are a SyntaxError: Cypher's string
  escape is a backslash, not a doubled quote. `'a\'b'` and `''` remain
  valid.
- A statement whose last clause is UNWIND with nothing after it
  (`UNWIND [1] AS x`) is a SyntaxError. This is a whole-statement check:
  fabric fragments that legitimately end in UNWIND are not affected.
- Clause keywords used as names (aliases, property keys) are not mistaken
  for clauses; the scan uses a first-byte keyword index so it stays out
  of the hot path (CPU profile: validator scans gone from the top nodes
  after the optimization).

Statement-level tests that pinned the non-Cypher forms were updated to
the Neo4j forms. Coverage: TestNotInOperatorRejected,
TestListLiteralTrailingCommaRejected, TestAdjacentStringLiteralsRejected,
TestDanglingUnwindRejected. Full pkg/cypher suite green (42.3s),
pkg/server green (113s), TCK ratchet 7794/7794, new tests pass twice
under -race.

Benchmarks (M2 Max, BenchmarkStatementRouting simple_match_limit):
autocommit 17.6-17.9 us/op, 11246-11248 B, 161 allocs; explicit tx
11.45-11.53 us/op, 5679 B, 88 allocs — allocation-identical to the
recorded band (16.4-17.6 / 10.4-11.1 us, 160-163 / 87-90 allocs).

142 of 159 new or added lines in 3 files covered. (89.31%)

21 existing lines in 7 files now uncovered.

175282 of 201485 relevant lines covered (87.0%)

1.02 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
88.11
pkg/cypher/validator_strictness.go

Coverage Regressions

Lines Coverage ∆ File
11
78.8
-0.66% pkg/cypher/row_expression.go
2
94.06
-0.15% pkg/cypher/executor_query_routing.go
2
83.93
-1.79% pkg/cypher/row_conversion_validation.go
2
83.06
-0.65% pkg/fabric/result.go
2
91.02
-0.35% pkg/replication/ha_standby.go
1
96.39
-0.3% pkg/nornicdb/apoc_storage_adapter.go
1
87.82
0.13% pkg/nornicdb/search_services.go
Jobs
ID Job ID Ran Files Coverage
1 36367670671.1 28 Sep 2026 02:07AM UTC 654
87.0
GitHub Action Run
Source Files on build 36367670671
  • Tree
  • List 654
  • Changed 15
  • Source Changed 0
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 88a4003d on github
  • Prev Build on main (#36364865879)
  • Next Build on main (#36376818637)
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