nimbus-eth1/nimbus/db/aristo/aristo_init
Jordan Hrycaj 71c91e2280
Aristo db refactor tx paradim (#1674)
* Better error handling

why:
  Bail out on some error as early as possible before any changes.

* Implement `fetch()` as opposite of `merge()`

rationale:
  In the `Aristo` realm, the action named `fetch()` and `merge()` indicate
  leaf value related actions on the MPT, while actions `get()` and `put()`
   handle vertex or hash key related operations that constitute the MPT.

* Re-factor `merge()` prototypes

why:
  The most used variant of `merge()` should have the simplest prototype.

* Persistent DB constructor needs to import `aristo/aristo_init/persistent`

why:
  Most applications use memory DB anyway. This avoids linking `-lrocksdb`
  or any other back end libraries by default.

* Re-factor transaction module

why:
  Got the paradigm wrong. The transaction descriptor did replace the
  database one but should be handled separately.
2023-08-07 18:45:23 +01:00
..
aristo_rocksdb Aristo db update foreground caching (#1605) 2023-06-22 12:13:24 +01:00
aristo_init_common.nim Aristo db update delete functionality (#1621) 2023-06-30 23:22:33 +01:00
aristo_memory.nim Aristo db refactor tx paradim (#1674) 2023-08-07 18:45:23 +01:00
aristo_rocksdb.nim Aristo db update delete functionality (#1621) 2023-06-30 23:22:33 +01:00
memory_only.nim Aristo db refactor tx paradim (#1674) 2023-08-07 18:45:23 +01:00
persistent.nim Aristo db refactor tx paradim (#1674) 2023-08-07 18:45:23 +01:00