graph, store: Use ctid-based join delete for call cache eviction
Replace the two-loop structure (fetch stale contracts, then delete their call_cache rows in tiny batches) with a single adaptive loop that joins call_cache to call_meta directly and deletes by ctid. The old approach did `WHERE contract_address = ANY(N addresses)` on the 6.9B row call_cache table repeatedly, which required expensive index scans. The new approach lets Postgres join the small filtered call_meta result against call_cache using the contract_address index, then deletes by physical row address (ctid), which is the fastest possible delete path. Also removes the GRAPH_STORE_STALE_CALL_CACHE_CONTRACTS_BATCH_SIZE env var since batch size is now fully controlled by AdaptiveBatchSize.
D
David Lutterkort committed
d42d1c774b12368f94838c4b28f1d55c989b6b74
Parent: a56cc78