nimbus-eth1/nimbus/sync/snap/worker/db
Jordan Hrycaj 6d132811ba
Core db update providing additional results code interface (#1776)
* Split `core_db/base.nim` into several sources

* Rename `core_db/legacy.nim` => `core_db/legacy_db.nim`

* Update `CoreDb` API, dual methods returning `Result[]` or plain value

detail:
  Plain value methods implemet the legacy API, they defect on error results

* Redesign `CoreDB` direct backend access

why:
  Made the `backend` directive integral part of the API

* Discontinue providing unused or otherwise available functions

details:
+ setTransactionID() removed, not used and not easily replicable in Aristo
+ maybeGet() removed, available via direct backend access
+ newPhk() removed, never used & was experimental anyway

* Update/reorg backend API

why:
+ Added error print function `$$()`
+ General descriptor completion (and optional validation) via `bless()`

* Update `Aristo`/`Kvt` exception handling

why:
  Avoid `CatchableError` exceptions, rather pass them as error code where
  appropriate.

* More `CoreDB` compliant `Aristo` and `Kvt` methods

details:
+ Providing functions like `contains()`, `getVtxRc()` (returns `Result[]`).
+ Additional error code: `NotImplemented`

* Rewrite/reorg of Aristo DB constructor

why:
  Previously used global object `DefaultQidLayoutRef` as default
  initialiser. This object was created at compile time which lead to
  non-gc safe functions.

* Update nimbus/db/core_db/legacy_db.nim

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

* Update nimbus/db/aristo/aristo_transcode.nim

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

* Update nimbus/db/core_db/legacy_db.nim

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

---------

Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2023-09-26 10:21:13 +01:00
..
hexary_debug.nim Update snap server client test scenario (#1518) 2023-03-22 20:11:49 +00:00
hexary_desc.nim Bump stint to v2.0: new array backend (#1747) 2023-09-13 09:32:38 +07:00
hexary_envelope.nim Update snap server client test scenario (#1518) 2023-03-22 20:11:49 +00:00
hexary_error.nim Update snap sync ready to succeed at lab test (#1556) 2023-04-21 22:11:04 +01:00
hexary_import.nim Prepare snap server client test scenario cont2 (#1487) 2023-03-07 14:23:22 +00:00
hexary_inspect.nim Update snap client account healing (#1521) 2023-03-25 10:44:48 +00:00
hexary_interpolate.nim Update snap server client test scenario (#1518) 2023-03-22 20:11:49 +00:00
hexary_nearby.nim Update snap client account healing (#1521) 2023-03-25 10:44:48 +00:00
hexary_nodes_helper.nim Update snap client account healing (#1521) 2023-03-25 10:44:48 +00:00
hexary_paths.nim Update snap server client test scenario (#1518) 2023-03-22 20:11:49 +00:00
hexary_range.nim Pre functional snap to full sync (#1546) 2023-04-14 23:28:57 +01:00
rocky_bulk_load.nim Silence some compiler gossip -- part 8, sync (#1467) 2023-02-14 23:38:33 +00:00
snapdb_accounts.nim Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00
snapdb_contracts.nim Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00
snapdb_debug.nim Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00
snapdb_desc.nim Core db update providing additional results code interface (#1776) 2023-09-26 10:21:13 +01:00
snapdb_persistent.nim Core db update providing additional results code interface (#1776) 2023-09-26 10:21:13 +01:00
snapdb_pivot.nim Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00
snapdb_storage_slots.nim Unified database frontend integration (#1670) 2023-08-04 12:10:09 +01:00