db lazyitem fix

This commit is contained in:
tim
2024-10-13 15:36:57 -04:00
parent 1cbc4212a1
commit 58586931f3

View File

@@ -5,7 +5,7 @@ from dexorder.blockstate.fork import Fork
from . import BlockSet, BlockDict, BlockState, DataType from . import BlockSet, BlockDict, BlockState, DataType
from .blockdata import BlockData, SeriesCollection from .blockdata import BlockData, SeriesCollection
from .diff import DiffItem, DiffEntryItem from .diff import DiffItem, DiffEntryItem
from .. import db, DELETE from .. import db, DELETE, NARG
from ..base.chain import current_chain from ..base.chain import current_chain
from ..blocks import get_block from ..blocks import get_block
from ..database.model import SeriesSet, SeriesDict from ..database.model import SeriesSet, SeriesDict
@@ -32,6 +32,8 @@ class DbState(SeriesCollection):
series = var.series2str(var.series) series = var.series2str(var.series)
key = var.key2str(item) key = var.key2str(item)
value = db.session.get(Entity, (chain_id, series, key)) value = db.session.get(Entity, (chain_id, series, key))
if value is None:
return NARG
return var.str2value(value.value) return var.str2value(value.value)
def finalize(self, fork: Fork, diffs: Iterable[Union[DiffItem,DiffEntryItem]]): def finalize(self, fork: Fork, diffs: Iterable[Union[DiffItem,DiffEntryItem]]):