nimbus-eth1/nimbus/db/aristo/aristo_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 Aristo and ledger small updates (#1888) 2023-11-08 16:52:25 +00:00
memory_db.nim Aristo and ledger small updates (#1888) 2023-11-08 16:52:25 +00:00
memory_only.nim Aristo and ledger small updates (#1888) 2023-11-08 16:52:25 +00:00
persistent.nim Aristo and ledger small updates (#1888) 2023-11-08 16:52:25 +00:00
rocks_db.nim Aristo and ledger small updates (#1888) 2023-11-08 16:52:25 +00:00