mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Make create after delete officially legal.
This commit is contained in:
@@ -135,16 +135,17 @@ void LedgerEntrySet::entryCreate(SLE::ref sle)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(it->second.mSeq == mSeq);
|
|
||||||
|
|
||||||
switch (it->second.mAction)
|
switch (it->second.mAction)
|
||||||
{
|
{
|
||||||
case taaMODIFY:
|
|
||||||
throw std::runtime_error("Create after modify");
|
|
||||||
|
|
||||||
case taaDELETE:
|
case taaDELETE:
|
||||||
throw std::runtime_error("Create after delete"); // We could make this a modify
|
it->second.mEntry = sle;
|
||||||
|
it->second.mAction = taaMODIFY;
|
||||||
|
it->second.mSeq = mSeq;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case taaMODIFY:
|
||||||
|
throw std::runtime_error("Create after modify");
|
||||||
case taaCREATE:
|
case taaCREATE:
|
||||||
throw std::runtime_error("Create after create"); // We could make this work
|
throw std::runtime_error("Create after create"); // We could make this work
|
||||||
|
|
||||||
@@ -154,6 +155,8 @@ void LedgerEntrySet::entryCreate(SLE::ref sle)
|
|||||||
default:
|
default:
|
||||||
throw std::runtime_error("Unknown taa");
|
throw std::runtime_error("Unknown taa");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(it->second.mSeq == mSeq);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LedgerEntrySet::entryModify(SLE::ref sle)
|
void LedgerEntrySet::entryModify(SLE::ref sle)
|
||||||
@@ -173,6 +176,8 @@ void LedgerEntrySet::entryModify(SLE::ref sle)
|
|||||||
case taaCACHED:
|
case taaCACHED:
|
||||||
it->second.mAction = taaMODIFY;
|
it->second.mAction = taaMODIFY;
|
||||||
fallthru();
|
fallthru();
|
||||||
|
|
||||||
|
case taaCREATE:
|
||||||
case taaMODIFY:
|
case taaMODIFY:
|
||||||
it->second.mSeq = mSeq;
|
it->second.mSeq = mSeq;
|
||||||
it->second.mEntry = sle;
|
it->second.mEntry = sle;
|
||||||
@@ -181,11 +186,6 @@ void LedgerEntrySet::entryModify(SLE::ref sle)
|
|||||||
case taaDELETE:
|
case taaDELETE:
|
||||||
throw std::runtime_error("Modify after delete");
|
throw std::runtime_error("Modify after delete");
|
||||||
|
|
||||||
case taaCREATE:
|
|
||||||
it->second.mSeq = mSeq;
|
|
||||||
it->second.mEntry = sle;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw std::runtime_error("Unknown taa");
|
throw std::runtime_error("Unknown taa");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user