Fix item_id order in forged l1UserTxs

Also, make sure that all SQL queries that return slices are sorted
This commit is contained in:
Eduard S
2020-12-28 16:42:30 +01:00
parent 88cd43efbd
commit 02c2ee155a
4 changed files with 127 additions and 19 deletions

View File

@@ -515,13 +515,14 @@ $BODY$
BEGIN
IF NEW.forge_l1_txs_num IS NOT NULL THEN
UPDATE tx
SET item_id = nextval('tx_item_id'), batch_num = NEW.batch_num
WHERE id IN (
SELECT id FROM tx
SET item_id = upd.item_id, batch_num = NEW.batch_num
FROM (
SELECT id, nextval('tx_item_id') FROM tx
WHERE user_origin AND NEW.forge_l1_txs_num = to_forge_l1_txs_num
ORDER BY position
FOR UPDATE
);
) as upd (id, item_id)
WHERE tx.id = upd.id;
END IF;
RETURN NEW;
END;