29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
# Relational Call-Graph PostgreSQL Schema
|
|
|
|
## Module
|
|
Signals
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
PostgreSQL migration scripts define relational tables for call-graph data storage.
|
|
|
|
## Implementation Details
|
|
- **Modules**: `src/Signals/__Libraries/StellaOps.Signals.Persistence/`
|
|
- **Key Classes**:
|
|
- `SignalsDbContext` (`src/Signals/__Libraries/StellaOps.Signals.Persistence/EfCore/Context/SignalsDbContext.cs`) - EF Core database context for Signals persistence
|
|
- **Migrations**:
|
|
- `001_initial_schema.sql` (`src/Signals/__Libraries/StellaOps.Signals.Persistence/Migrations/001_initial_schema.sql`) - initial schema with call-graph tables
|
|
- `002_runtime_agent_schema.sql` (`src/Signals/__Libraries/StellaOps.Signals.Persistence/Migrations/002_runtime_agent_schema.sql`) - runtime agent tables
|
|
- `V3102_001__callgraph_relational_tables.sql` (archived) - call-graph relational table definitions (func_nodes, call_edges, cve_func_hits)
|
|
- **Models**: `FuncNodeDocument`, `CallEdgeDocument`, `CveFuncHitDocument` (`src/Signals/StellaOps.Signals/Models/ReachabilityStore/`)
|
|
- **Source**: Feature matrix scan
|
|
|
|
## E2E Test Plan
|
|
- [ ] Run migration scripts and verify all call-graph tables are created (func_nodes, call_edges, cve_func_hits)
|
|
- [ ] Insert call-graph data via `SignalsDbContext` and verify round-trip persistence
|
|
- [ ] Verify relational integrity: insert edges referencing func_nodes and confirm foreign key constraints
|
|
- [ ] Query call paths using relational joins and verify correct path reconstruction
|
|
- [ ] Verify index performance: query by CVE ID and confirm results return within acceptable latency
|