Add batch change set for set demand

This commit is contained in:
WQY\qiong
2022-10-30 14:43:22 +08:00
parent 7860faadd7
commit 23ce9d73d0
2 changed files with 10 additions and 11 deletions

View File

@@ -49,6 +49,13 @@ class SqlChangeSet:
self.redo_cs = redo_cs
self.undo_cs = undo_cs
class BatchSqlChangeSet:
def __init__(self, redo_sql: str, undo_sql: str, redo_cs: list[dict[str, str]], undo_cs: list[dict[str, str]]) -> None:
self.redo_sql = redo_sql
self.undo_sql = undo_sql
self.redo_cs = redo_cs
self.undo_cs = undo_cs
def read(name: str, sql: str) -> Row:
with conn[name].cursor(row_factory=dict_row) as cur:

View File

@@ -21,15 +21,7 @@ def get_demand(name: str, junction: str) -> dict[str, Any]:
return { 'junction': junction, 'demands': ds }
class _SqlChangeSet:
def __init__(self, redo_sql: str, undo_sql: str, redo_cs: list[dict[str, str]], undo_cs: list[dict[str, str]]) -> None:
self.redo_sql = redo_sql
self.undo_sql = undo_sql
self.redo_cs = redo_cs
self.undo_cs = undo_cs
def set_demand_cache(name: str, cs: ChangeSet) -> _SqlChangeSet:
def set_demand_cache(name: str, cs: ChangeSet) -> BatchSqlChangeSet:
junction = cs.operations[0]['junction']
old = get_demand(name, junction)
new = { 'junction': junction, 'demands': [] }
@@ -82,11 +74,11 @@ def set_demand_cache(name: str, cs: ChangeSet) -> _SqlChangeSet:
undo_sql += _undo_sql
redo_cs.append(cache.redo_cs)
undo_cs.append(cache.undo_cs)
undo_cs.reverse()
return _SqlChangeSet(redo_sql, undo_sql, redo_cs, undo_cs)
return BatchSqlChangeSet(redo_sql, undo_sql, redo_cs, undo_cs)
def set_demand(name: str, cs: ChangeSet) -> ChangeSet: