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

orneryd / NornicDB / 23410567987
88%

Build:
DEFAULT BRANCH: main
Ran 22 Mar 2026 07:34PM UTC
Jobs 1
Files 327
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

22 Mar 2026 07:20PM UTC coverage: 88.536% (-0.2%) from 88.74%
23410567987

push

github

orneryd
feat(temporal): add indexed as-of lookups, current-version tracking, rebuild/prune maintenance, and current-only search indexing

Add a storage-backed temporal indexing layer so temporal entities no longer rely
on label scans for point-in-time lookup or overlap validation.

What this change does:
- adds Badger temporal history indexes keyed by namespace, label, temporal key,
  and valid_from
- adds a temporal current-pointer fast path for open/current intervals
- wires Cypher db.temporal.asOf into storage-native indexed lookup when supported
- updates node create/update/delete and transaction commit paths to keep
  temporal indexes and current pointers in sync
- replaces committed temporal overlap scans with adjacent predecessor/successor
  checks, while preserving a legacy scan fallback for non-indexed data
- adds temporal rebuild and prune maintenance APIs and exposes them through DB
  admin flows
- rebuilds temporal indexes on startup and after restore
- fixes restore-time search rebuild lock ordering to avoid deadlock
- teaches search indexing and full rebuilds to skip historical temporal versions
  and only index current/live records by default
- adds regression coverage for as-of lookup, overlap validation, rebuild,
  pruning, transaction current-pointer maintenance, search gating, restore, and
  DB maintenance delegation

Why:
- point-in-time reads now scale with ordered temporal indexes instead of full
  label scans
- current/open intervals have a first-class fast path
- historical versions no longer pollute search indexes by default
- restore/startup flows can reconcile temporal index state safely
- the temporal storage layer is now in a better position for future MVCC work

601 of 973 new or added lines in 11 files covered. (61.77%)

28 existing lines in 11 files now uncovered.

101478 of 114618 relevant lines covered (88.54%)

1.03 hits per line

Uncovered Changes

Lines Coverage ∆ File
254
62.48
pkg/storage/badger_temporal_index.go
26
82.21
-0.22% pkg/search/search.go
16
90.29
-2.36% pkg/storage/namespaced.go
15
85.0
-15.0% pkg/storage/async_engine_events.go
15
85.31
-2.33% pkg/storage/wal_engine.go
12
80.51
-0.03% pkg/storage/badger_nodes.go
10
89.61
-1.55% pkg/storage/badger_constraint_validation.go
9
89.02
0.33% pkg/nornicdb/db_admin.go
8
87.43
-0.53% pkg/storage/badger_transaction.go
7
94.3
-2.94% pkg/cypher/call_temporal.go

Coverage Regressions

Lines Coverage ∆ File
7
86.57
-2.47% pkg/replication/multi_region.go
6
89.07
-1.99% pkg/temporal/decay_integration.go
3
87.39
-0.19% pkg/storage/wal.go
2
92.11
-0.66% pkg/cypher/optimized_executors.go
2
90.06
-0.38% pkg/replication/storage_adapter.go
2
80.51
-0.03% pkg/storage/badger_nodes.go
2
92.13
0.0% pkg/temporal/query_load.go
1
89.02
0.33% pkg/nornicdb/db_admin.go
1
90.46
-0.14% pkg/nornicdb/embed_queue.go
1
89.55
0.05% pkg/storage/async_engine.go
1
97.64
-0.26% pkg/temporal/tracker.go
Jobs
ID Job ID Ran Files Coverage
1 23410567987.1 22 Mar 2026 07:34PM UTC 327
88.54
GitHub Action Run
Source Files on build 23410567987
  • Tree
  • List 327
  • Changed 28
  • Source Changed 0
  • Coverage Changed 28
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 958fde93 on github
  • Prev Build on main (#23368925666)
  • Next Build on main (#23412767236)
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