nimbus-eth1/nimbus/db/kvt/kvt_init
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
..
rocks_db Core db update api tracking (#1907) 2023-11-24 22:16:21 +00:00
init_common.nim Simple stupid key-value table companion for Aristo DB (#1746) 2023-09-12 19:44:45 +01:00
memory_db.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00
memory_only.nim Core db aristo and kvt updates preparing for integration (#1760) 2023-09-18 21:20:28 +01:00
persistent.nim Core db aristo and kvt updates preparing for integration (#1760) 2023-09-18 21:20:28 +01:00
rocks_db.nim Core db and aristo updates for destructor and tx logic (#1894) 2023-11-16 19:35:03 +00:00