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

orneryd / NornicDB / 23929665246
89%

Build:
DEFAULT BRANCH: main
Ran 03 Apr 2026 01:39AM UTC
Jobs 1
Files 360
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

03 Apr 2026 01:25AM UTC coverage: 86.02% (-0.3%) from 86.285%
23929665246

push

github

orneryd
feat(schema): implement Neo4j relationship constraint parity

  Add full support for relationship-scoped constraint DDL matching Neo4j's
  modern Cypher syntax. This brings NornicDB to parity for all four
  relationship constraint families: uniqueness, existence, property type,
  and relationship key.

  Schema model:
  - Add ConstraintEntityType (NODE/RELATIONSHIP) to Constraint and
    PropertyTypeConstraint structs with backward-compatible defaults
  - Add ConstraintRelationshipKey type for relationship key constraints
  - Add OwnedIndex field for backing index lifecycle management

  Parser:
  - Add 12 regex patterns for FOR ()-[r:TYPE]-() relationship target syntax
  - Support named/unnamed variants for all constraint families
  - Support single-property and composite forms

  Validation and enforcement:
  - Validate existing relationship data at constraint creation time
  - Enforce constraints on CreateEdge, UpdateEdge, BulkCreateEdges
  - Enforce constraints in BadgerTransaction commit via validateAllConstraints
  - Conflict detection: same-name/different-schema, duplicate-schema,
    uniqueness-vs-key conflicts

  Introspection:
  - SHOW CONSTRAINTS returns RELATIONSHIP entity type and owned index name
  - Owned range indexes auto-created for uniqueness/key constraints and
    auto-dropped when the owning constraint is dropped

287 of 739 new or added lines in 9 files covered. (38.84%)

10 existing lines in 6 files now uncovered.

110582 of 128554 relevant lines covered (86.02%)

1.0 hits per line

Uncovered Changes

Lines Coverage ∆ File
125
77.22
-7.58% pkg/storage/badger_transaction.go
122
61.97
-21.42% pkg/storage/badger_constraint_validation.go
104
71.52
-21.61% pkg/storage/constraint_validation.go
70
80.08
-2.68% pkg/cypher/schema.go
25
89.78
-1.56% pkg/storage/schema.go
4
75.18
-0.19% pkg/storage/badger_edges.go
2
82.69
-0.38% pkg/storage/badger_bulk.go

Coverage Regressions

Lines Coverage ∆ File
3
90.07
-0.99% pkg/temporal/decay_integration.go
2
64.17
-0.65% pkg/fabric/result.go
2
92.13
0.0% pkg/temporal/query_load.go
1
86.5
-0.07% pkg/cypher/traversal.go
1
77.22
-7.58% pkg/storage/badger_transaction.go
1
97.64
-0.26% pkg/temporal/tracker.go
Jobs
ID Job ID Ran Files Coverage
1 23929665246.1 03 Apr 2026 01:39AM UTC 360
86.02
GitHub Action Run
Source Files on build 23929665246
  • Tree
  • List 360
  • Changed 21
  • Source Changed 0
  • Coverage Changed 21
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b65b97a7 on github
  • Prev Build on main (#23926778593)
  • Next Build on main (#23931097481)
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