go-ethereum/core/rawdb
rjl493456442 1941c5e6c9
core/rawdb: untie freezer and ancient chain data (#24684)
Previously freezer has only been used for storing ancient chain data, while obviously it can be used more. This PR unties the chain data and freezer, keep the minimal freezer structure and move all other logic (like incrementally freezing block data) into a separate structure called ChainFreezer.

This PR also extends the database interface by adding a new ancient store function AncientDatadir which can return the root directory of ancient store. The ancient root directory can be used when we want to open some other ancient-stores (e.g. reverse diff freezer).
2022-05-06 13:28:42 +02:00
..
testdata core/rawdb: avoid unnecessary receipt processing for log filtering (#23147) 2021-09-28 12:54:49 +02:00
accessors_chain_test.go all: use T.TempDir to create temporary test directories (#24633) 2022-04-08 15:44:55 +02:00
accessors_chain.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
accessors_indexes_test.go core/rawdb: single point of maintenance for writing and deleting tx lookup indexes (#21480) 2020-09-15 10:37:01 +02:00
accessors_indexes.go core/rawdb: fix logs to print block number, not address (#23328) 2021-08-04 11:10:37 +03:00
accessors_metadata.go core: store genesis allocation and recommit them if necessary (#24460) 2022-03-22 10:53:22 +01:00
accessors_snapshot.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
accessors_state.go core/rawdb: add HasCode, HashTrieNode and use them where possible (#24454) 2022-03-09 00:39:34 +01:00
accessors_sync.go eth/downloader: implement beacon sync (#23982) 2022-03-11 14:14:45 +02:00
chain_freezer.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
chain_iterator_test.go core/rawdb: fix transaction indexing/unindexing hashing error (#22457) 2021-03-16 12:15:14 +02:00
chain_iterator.go core, core/rawdb: fix transaction indexing (#24024) 2021-12-06 11:26:03 +01:00
database_test.go eth/protocols/snap: generate storage trie from full dirty snap data (#22668) 2021-04-27 17:19:59 +03:00
database.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
freezer_batch.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
freezer_meta_test.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer_meta.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer_table_test.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer_table.go fix typo (#24731) 2022-04-25 09:28:03 +02:00
freezer_test.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
freezer_utils_test.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer_utils.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
key_length_iterator_test.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
key_length_iterator.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
schema.go core: store genesis allocation and recommit them if necessary (#24460) 2022-03-22 10:53:22 +01:00
table_test.go all: simplify and fix database iteration with prefix/start (#20808) 2020-04-15 14:08:53 +03:00
table.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00