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

orneryd / NornicDB / 36364865879
87%

Build:
DEFAULT BRANCH: main
Ran 28 Sep 2026 01:23AM UTC
Jobs 1
Files 653
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:09AM UTC coverage: 86.991% (+0.01%) from 86.977%
36364865879

push

github

orneryd
fix(cypher): evaluate every arithmetic operator in CREATE/MERGE property maps

The #514 core was still open: parsePropertyValue only routed top-level
'+' and '/' through the evaluator, so a CREATE/MERGE property map stored
other arithmetic as its own text — CREATE (n:T {a: 2 * 3}) persisted the
string '2 * 3' (silent wrong data), the same for -, ^, %, unary minus,
list items and relationship maps (#656, merged into #514).

Property-map values with any arithmetic operator now route through the
scalar property evaluator, which already computes them: 2 * 3 -> 6,
7 - 2 -> 5, 2 ^ 3 -> 8.0, 7 % 4 -> 3, -(2 * 3) -> -6, [1 + 1, 2 * 2] ->
[2, 4]. A null result omits the property (Neo4j null semantics, same as
the previous '/' path) and a recorded runtime failure (1 / 0) fails the
statement. A quoted value now decodes only when it is exactly one quoted
literal, so {s: 'a' + 'b'} evaluates the concatenation instead of
decoding to "a' + 'b".

Coverage: TestPropertyMapArithmeticOperatorsEvaluateToValues,
TestPropertyMapArithmeticNullOperandOmitsProperty,
TestPropertyMapArithmeticFailureFailsTheStatement,
TestPropertyMapFunctionCallsAndLiteralsUnchanged. Full pkg/cypher suite
green (42.4s), TCK ratchet passes 7794/7794, server and nornicdb suites
green, new tests pass twice under -race.

Benchmarks (M2 Max, BenchmarkStatementRouting simple_match_limit):
autocommit 16.94-17.18 us/op, 11246 B, 161 allocs; explicit tx
10.94-11.02 us/op, 5614-5615 B, 88 allocs — allocation-identical to the
recorded band (16.4-17.6 / 10.4-11.1 us, 160-163 / 87-90 allocs).

8 of 8 new or added lines in 2 files covered. (100.0%)

21 existing lines in 6 files now uncovered.

175135 of 201326 relevant lines covered (86.99%)

1.02 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
89.67
-0.4% pkg/nornicdb/db_admin.go
7
94.58
-2.53% pkg/storage/property_key_dictionary.go
2
89.47
-3.51% pkg/nornicdb/auto_embed_inference.go
2
79.35
-1.09% pkg/storage/badger_edge_between_index.go
1
95.19
-0.34% pkg/cypher/apoc_community.go
1
83.39
-0.05% pkg/cypher/traversal.go
Jobs
ID Job ID Ran Files Coverage
1 36364865879.1 28 Sep 2026 01:23AM UTC 653
86.99
GitHub Action Run
Source Files on build 36364865879
  • Tree
  • List 653
  • Changed 13
  • Source Changed 0
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 151056e4 on github
  • Prev Build on main (#36363936437)
  • Next Build on main (#36367670671)
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