Split storage of binary graph into different database - #26
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (76.73%) is below the target coverage (100.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #26 +/- ##
==========================================
+ Coverage 73.76% 74.00% +0.23%
==========================================
Files 85 86 +1
Lines 17649 18672 +1023
==========================================
+ Hits 13019 13818 +799
- Misses 4630 4854 +224 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
#31) * Fix binary callees/callers/flow always empty: route id >= bin_base to BinaryGraph (#26 regression) After the storage split, binary symbols live only in binary.sqlite (id range bin_base = 2e9) while codegraph_callees/callers/flow still queried the main GraphIndex, so every binary returned empty results. Now those tools route to BinaryGraph when the node id falls in the binary range, with a fallback to the old path if the binary DB is unavailable. - BinaryGraph: add callees (call records resolved by name within the same binary), callers (BFS over a new caller_of:{name} reverse index built at ingest) and flow (chain render with CFG markers + call sites, same shape as GraphIndex::flow). - Ingest: stop corrupting chain entries — CFG markers (id < SYMBOL_BASE) and unresolved-call placeholders (0) are kept as-is; only real symbol ids are remapped into the bin_base range. - MCP: dispatch_binary_graph routes callees/callers/impact/flow for binary ids. - Config template: document the [bingraph] section (enabled/bin_base/storage) with a warning against overlapping id ranges. - Docs: binary-analysis.md updated for the split-storage architecture. - Tests: bingraph unit tests extended + end-to-end test compiling a real shared library and running it through r2 extraction and queries. * style: apply rustfmt
No description provided.