zebra/zebra-state
teor 6aba60d657
1. feat(db): Store transactions in a separate database index, to improve query speed (#3934)
* Implement disk serialization for block headers and transactions

* Re-order column family initialization to match the design

* Add new empty transaction column families

* Split writing block header and transaction data

* Re-order column families for consistency

* Update write snapshots for transaction split

* Use split block and transaction data when reading

* Update snapshots to include genesis transaction hash location

* Filter all prefix iterators to make sure they return the correct values

* Test that the new transaction indexes are consistent

* Add some cleanup TODOs

* Increment the database format to version 15

* Remove unused fisk format impls for Block

* Add a missing prefix extractor for transaction locations

* Make the database generic over the thread mode

* Replace prefix iteration with iteration from a key, and a filter

Prefix iteration caused database hangs.

* Manually iterate through transaction locations to re-create blocks

Also:
- re-write disk read API to avoid iterator hangs
- move disk read API to ReadDisk
- re-write impl rocksdb::AsColumnFamilyRef to a where clause, for consistency

* Update the database version so it's larger than the NU5 testnet 2 version
2022-04-07 08:30:50 +00:00
..
proptest-regressions/service 7. change(db): Use smaller keys for height and transaction indexes (#3874) 2022-03-22 06:19:50 +00:00
src 1. feat(db): Store transactions in a separate database index, to improve query speed (#3934) 2022-04-07 08:30:50 +00:00
tests 5. change(state): split ReadStateService requests into a ReadRequest enum (#3866) 2022-03-17 22:59:46 +00:00
Cargo.toml 1.0.0-beta.7 Release (#4039) 2022-04-05 18:06:46 +00:00