mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Fix a bug that can destroy metadata. If we find destroyed
metadata, fix it.
This commit is contained in:
@@ -121,46 +121,6 @@ void Transaction::setStatus (TransStatus ts, uint32 lseq)
|
||||
mInLedger = lseq;
|
||||
}
|
||||
|
||||
void Transaction::save ()
|
||||
{
|
||||
if ((mStatus == INVALID) || (mStatus == REMOVED))
|
||||
return;
|
||||
|
||||
char status;
|
||||
|
||||
switch (mStatus)
|
||||
{
|
||||
case NEW:
|
||||
status = TXN_SQL_NEW;
|
||||
break;
|
||||
|
||||
case INCLUDED:
|
||||
status = TXN_SQL_INCLUDED;
|
||||
break;
|
||||
|
||||
case CONFLICTED:
|
||||
status = TXN_SQL_CONFLICT;
|
||||
break;
|
||||
|
||||
case COMMITTED:
|
||||
status = TXN_SQL_VALIDATED;
|
||||
break;
|
||||
|
||||
case HELD:
|
||||
status = TXN_SQL_HELD;
|
||||
break;
|
||||
|
||||
default:
|
||||
status = TXN_SQL_UNKNOWN;
|
||||
}
|
||||
|
||||
Database* db = getApp().getTxnDB ()->getDB ();
|
||||
ScopedLock dbLock (getApp().getTxnDB ()->getDBLock ());
|
||||
|
||||
// FIXME: This can destroy metadata
|
||||
db->executeSQL (mTransaction->getSQLInsertReplaceHeader () + mTransaction->getSQL (getLedger (), status) + ";");
|
||||
}
|
||||
|
||||
Transaction::pointer Transaction::transactionFromSQL (Database* db, bool bValidate)
|
||||
{
|
||||
Serializer rawTxn;
|
||||
|
||||
Reference in New Issue
Block a user