Skip to content
Snippets Groups Projects
Commit 3996d8f9 authored by Benoit Lavenier's avatar Benoit Lavenier
Browse files

fix(1446): When reverting a block, delete source condition index only if no...

fix(1446): When reverting a block, delete source condition index only if no create record exists - fix #1446
parent d8936b55
No related branches found
No related tags found
1 merge request!1433fix(1446): When reverting a block, delete source condition index only if no create record exists - close #1446
Pipeline #32216 failed
...@@ -288,7 +288,8 @@ export class LevelDBSindex extends LevelDBTable<SindexEntry> ...@@ -288,7 +288,8 @@ export class LevelDBSindex extends LevelDBTable<SindexEntry>
const updateRecord = await this.getOrNull(updateKey); const updateRecord = await this.getOrNull(updateKey);
// Undo consumption // Undo consumption
if (updateRecord && updateRecord.writtenOn === writtenOn) { if (updateRecord && updateRecord.writtenOn === writtenOn) {
conditions.push(updateRecord.conditions); // Delete from condition index only if no createRecord exists - fix #1446
if (!createRecord) conditions.push(updateRecord.conditions);
await this.del(updateKey); await this.del(updateKey);
} }
// Undo creation? // Undo creation?
...@@ -296,11 +297,10 @@ export class LevelDBSindex extends LevelDBTable<SindexEntry> ...@@ -296,11 +297,10 @@ export class LevelDBSindex extends LevelDBTable<SindexEntry>
conditions.push(createRecord.conditions); conditions.push(createRecord.conditions);
await this.del(createKey); await this.del(createKey);
} }
// Update balance // Update condition index
// 1. Conditions
const uniqConditions = Underscore.uniq(conditions); const uniqConditions = Underscore.uniq(conditions);
for (const condition of uniqConditions) { for (const condition of uniqConditions) {
// Remove this source from the balance // Remove this source from the condition
await this.trimConditions(condition, id); await this.trimConditions(condition, id);
} }
} }
...@@ -324,7 +324,7 @@ export class LevelDBSindex extends LevelDBTable<SindexEntry> ...@@ -324,7 +324,7 @@ export class LevelDBSindex extends LevelDBTable<SindexEntry>
// If some sources are left for this "account", persist what remains // If some sources are left for this "account", persist what remains
await this.indexForConditions.put(condition, trimmed); await this.indexForConditions.put(condition, trimmed);
} else { } else {
// Otherwise just delete the "account" // Otherwise just delete the "condition"
await this.indexForConditions.del(condition); await this.indexForConditions.del(condition);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment