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
..
2023-08-06 10:42:28 +07:00
2023-08-07 18:45:23 +01:00
2023-08-04 19:43:30 +07:00
2023-08-04 19:43:30 +07:00
2023-01-13 13:04:23 +07:00
2019-01-28 12:38:23 +02:00
2018-05-28 13:22:28 +03:00
2019-04-17 03:56:28 +02:00
2022-12-02 13:51:42 +07:00
2023-07-20 20:20:41 +07:00
2023-08-03 16:45:39 +07:00
2023-08-03 16:45:39 +07:00