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

orneryd / NornicDB / 37209550980
89%

Build:
DEFAULT BRANCH: main
Ran 04 Oct 2026 02:45PM UTC
Jobs 1
Files 680
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

04 Oct 2026 02:31PM UTC coverage: 86.865% (+0.007%) from 86.858%
37209550980

push

github

orneryd
perf(storage,cypher): cheaper label-less scans, and WHERE / relationship forms take them (#857)

A label-less property match still cost 0.8 µs per scanned node against
Neo4j's 0.15 µs, and two common forms skipped the projected scan:
MATCH (a) WHERE a.id = $id, and relationship patterns starting from a
label-less node with properties (graphify's stale-edge delete), which
decoded every node in full.

projectedNodeDecoder decodes one scan's projected properties. It
resolves the projected names to key tokens once per database (lookupID),
skips other properties by token without a dictionary lookup, decodes
into one map it clears per node, reuses one reader, and reads the
database from the key bytes, so a node the filter rejects allocates no
map, reader or node ID. decodeNodeFiltered's filter is gone with it;
decodeNodeProjected decodes without one.

collectNodesWithStreaming's label-less projected scan now requires the
pattern's properties and the WHERE's top-level equalities on the
variable (labellessScanRequiredProperties), and the pipeline passes those
equalities when it evaluates the WHERE itself. Start-node loads pass the
pattern's properties (loadPatternNodes) instead of filtering a full
label-less load afterwards; filterNodesByProperties uses
nodePropertiesMatch, the one pattern-property test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

176 of 182 new or added lines in 12 files covered. (96.7%)

960 existing lines in 11 files now uncovered.

179142 of 206231 relevant lines covered (86.86%)

1.02 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
93.94
0.0% pkg/storage/projected_node_decoder.go

Coverage Regressions

Lines Coverage ∆ File
397
68.55
0.0% pkg/cypher/executor_subqueries.go
177
85.06
0.0% pkg/cypher/match_multi.go
168
87.07
0.0% pkg/cypher/pipeline_executor.go
126
76.78
0.0% pkg/cypher/match_with.go
40
82.97
0.0% pkg/cypher/match_rows.go
17
88.74
0.0% pkg/storage/badger_helpers.go
14
80.74
-0.05% pkg/cypher/traversal.go
14
92.8
0.0% pkg/storage/badger_stats.go
3
88.34
-1.35% pkg/storage/badger_schema.go
2
87.28
0.0% pkg/cypher/match_with_chain.go
2
96.96
0.0% pkg/storage/property_key_dictionary.go
Jobs
ID Job ID Ran Files Coverage
1 37209550980.1 04 Oct 2026 02:45PM UTC 680
86.86
GitHub Action Run
Source Files on build 37209550980
  • Tree
  • List 680
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 7277c621 on github
  • Prev Build on main (#37209436094)
  • Next Build on main (#37209919918)
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