You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
Currently chainbase makes some assumptions that are not valid for EOS.IO:
the set of tables is static
undo / redo applies to all tables which is not sustainable
Going forward we will require the following:
scoped tables
dynamic table creation
scoped undo history
dynamic addition of tables as they are modified
After reviewing the design of chainbase I have concluded the following usage pattern will be necessary going forward:
all create, modify, and remove commands must be triggered from the undo session
this is done to ensure that the impacted tables have the proper revision history, current
implementation can skip this because ALL tables have undo started at same time, but going
forward this will have to be sparse.
all child undo sessions must be created from the current undo session
in debugging mode we need to ensure that all access to create/modify/remove is through a single strand
When the last irreversible block comes along we discard old / unneeded undo states via the commit() call. We currently iterate over all tables (which are statically typed) and delete unnecessary undo state. This won't be possible going forward unless we include the undo sessions in the shared memory.
The text was updated successfully, but these errors were encountered:
Currently chainbase makes some assumptions that are not valid for EOS.IO:
Going forward we will require the following:
After reviewing the design of chainbase I have concluded the following usage pattern will be necessary going forward:
implementation can skip this because ALL tables have undo started at same time, but going
forward this will have to be sparse.
When the last irreversible block comes along we discard old / unneeded undo states via the commit() call. We currently iterate over all tables (which are statically typed) and delete unnecessary undo state. This won't be possible going forward unless we include the undo sessions in the shared memory.
The text was updated successfully, but these errors were encountered: