nimbus-eth1/nimbus/db
Jordan Hrycaj 5462c05dc6
Core db update api tracking (#1907)
* Fix copyright year

* Show elapsed times with enabled `CoreDb` API tracking

* Show elapsed times with enabled `LedgerRef` API tracking

* Reorg `CoreDb` auto destructors for `Aristo` DB

why:
  While `Aristo` supports some parallelism for concurrent database access,
  this comes with a price of management overhead. With a naive approach,
  the auto-destructor will slow down execution because the ledger and
  evm treat the database in a shared mode where a DB descriptor is just
  created and thrown away shortly after.

  This is reflected in the `Coredb` abstraction layer above `Aristo`/`Kvt`
  where a few `Shared` type descriptors are cached and a shared reference
  is returned rather than a disposable new object.

* For `CoreDb` support transaction level tracking

details:
  This is mainly an extra for the legacy DB as `Aristo` and `Kvt` support
  this already.

  Also return an error on the legacy DB backend when `persistent()` is
  called while there are transactions pending (the `persistent()` call
  does nothing otherwise on the legacy backend.)

* Clear compiler warnings (remove unused variables etc.)
2023-11-24 22:16:21 +00:00
..
aristo Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
core_db Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
kvt Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
ledger Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
notused Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
state_db Core db fix legacy db root vertex fetcher (#1899) 2023-11-20 20:22:27 +00:00
access_list.nim implement EIP-1153: Transient storage 2023-06-23 14:04:36 +07:00
accounts_cache.nim Aristo and ledger small updates (#1888) 2023-11-08 16:52:25 +00:00
aristo.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
core_db.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
distinct_tries.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
geth_db.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
incomplete_db.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
kvstore_rocksdb.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
kvt.nim Core db aristo and kvt updates preparing for integration (#1760) 2023-09-18 21:20:28 +01:00
ledger.nim Fix default pruning for ledger and update core db and ledger logging (#1861) 2023-10-25 15:03:09 +01:00
select_backend.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
state_db.nim Core db fix legacy db root vertex fetcher (#1899) 2023-11-20 20:22:27 +00:00
storage_types.nim Refactor beacon skeleton (#1761) 2023-09-19 11:52:28 +07:00
transient_storage.nim implement EIP-1153: Transient storage 2023-06-23 14:04:36 +07:00
values_from_bytes.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00