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.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +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_indexes.go core/rawdb: fix logs to print block number, not address (#23328) 2021-08-04 11:10:37 +03: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_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.go core, core/rawdb: fix transaction indexing (#24024) 2021-12-06 11:26:03 +01:00
chain_iterator_test.go core/rawdb: fix transaction indexing/unindexing hashing error (#22457) 2021-03-16 12:15:14 +02:00
database.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
database_test.go eth/protocols/snap: generate storage trie from full dirty snap data (#22668) 2021-04-27 17:19:59 +03:00
freezer.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.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer_meta_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_table_test.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer_test.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
freezer_utils.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
freezer_utils_test.go core/rawdb, cmd, ethdb, eth: implement freezer tail deletion (#23954) 2022-03-10 09:37:23 +01:00
key_length_iterator.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
key_length_iterator_test.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.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
table_test.go all: simplify and fix database iteration with prefix/start (#20808) 2020-04-15 14:08:53 +03:00