1.0.10 Managing orphaned pid in ConsumedTable & deleting TransferLogs
This commit is contained in:
parent
e1143269ea
commit
ac89bc1af8
@ -279,6 +279,12 @@ def rollback_database(blockNumber, dbtype, dbname):
|
|||||||
orphan_entry.parentid = orphan_entry.orphaned_parentid
|
orphan_entry.parentid = orphan_entry.orphaned_parentid
|
||||||
orphan_entry.orphaned_parentid = None
|
orphan_entry.orphaned_parentid = None
|
||||||
|
|
||||||
|
orphaned_parentid_entries = db_session.query(ConsumedTable).filter(ConsumedTable.orphaned_parentid == key).all()
|
||||||
|
if len(orphaned_parentid_entries) != 0:
|
||||||
|
for orphan_entry in orphaned_parentid_entries:
|
||||||
|
orphan_entry.parentid = orphan_entry.orphaned_parentid
|
||||||
|
orphan_entry.orphaned_parentid = None
|
||||||
|
|
||||||
|
|
||||||
# update addressBalance
|
# update addressBalance
|
||||||
if inputAddress is None:
|
if inputAddress is None:
|
||||||
@ -290,6 +296,7 @@ def rollback_database(blockNumber, dbtype, dbname):
|
|||||||
db_session.delete(activeTable_entry)
|
db_session.delete(activeTable_entry)
|
||||||
|
|
||||||
db_session.query(TransactionHistory).filter(TransactionHistory.blockNumber > blockNumber).delete()
|
db_session.query(TransactionHistory).filter(TransactionHistory.blockNumber > blockNumber).delete()
|
||||||
|
db_session.query(TransferLogs).filter(TransferLogs.blockNumber > blockNumber).delete()
|
||||||
db_session.commit()
|
db_session.commit()
|
||||||
|
|
||||||
elif dbtype == 'smartcontract':
|
elif dbtype == 'smartcontract':
|
||||||
|
|||||||
@ -271,6 +271,9 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress,
|
|||||||
entries = session.query(ActiveTable).filter(ActiveTable.parentid == piditem[0]).all()
|
entries = session.query(ActiveTable).filter(ActiveTable.parentid == piditem[0]).all()
|
||||||
process_pids(entries, session, piditem)
|
process_pids(entries, session, piditem)
|
||||||
|
|
||||||
|
entries = session.query(ConsumedTable).filter(ConsumedTable.parentid == piditem[0]).all()
|
||||||
|
process_pids(entries, session, piditem)
|
||||||
|
|
||||||
# move the pids consumed in the transaction to consumedTable and delete them from activeTable
|
# move the pids consumed in the transaction to consumedTable and delete them from activeTable
|
||||||
session.execute('INSERT INTO consumedTable (id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber) SELECT id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber FROM activeTable WHERE id={}'.format(piditem[0]))
|
session.execute('INSERT INTO consumedTable (id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber) SELECT id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber FROM activeTable WHERE id={}'.format(piditem[0]))
|
||||||
session.execute('DELETE FROM activeTable WHERE id={}'.format(piditem[0]))
|
session.execute('DELETE FROM activeTable WHERE id={}'.format(piditem[0]))
|
||||||
@ -324,6 +327,9 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress,
|
|||||||
entries = session.query(ActiveTable).filter(ActiveTable.parentid == piditem[0]).all()
|
entries = session.query(ActiveTable).filter(ActiveTable.parentid == piditem[0]).all()
|
||||||
process_pids(entries, session, piditem)
|
process_pids(entries, session, piditem)
|
||||||
|
|
||||||
|
entries = session.query(ConsumedTable).filter(ConsumedTable.parentid == piditem[0]).all()
|
||||||
|
process_pids(entries, session, piditem)
|
||||||
|
|
||||||
# move the pids consumed in the transaction to consumedTable and delete them from activeTable
|
# move the pids consumed in the transaction to consumedTable and delete them from activeTable
|
||||||
session.execute('INSERT INTO consumedTable (id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber) SELECT id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber FROM activeTable WHERE id={}'.format(piditem[0]))
|
session.execute('INSERT INTO consumedTable (id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber) SELECT id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber FROM activeTable WHERE id={}'.format(piditem[0]))
|
||||||
session.execute('DELETE FROM activeTable WHERE id={}'.format(piditem[0]))
|
session.execute('DELETE FROM activeTable WHERE id={}'.format(piditem[0]))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user