From a4e3068653b6c57fdb49dc3b52c7d0fcc8b77aed Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Mon, 19 Apr 2021 13:41:30 +0100 Subject: [PATCH] Fix scan, delete old blocks --- .../deltas/20210416150927_state_blocks_refactor.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go b/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go index 6a0abdd2..46ac7116 100644 --- a/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go +++ b/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go @@ -104,7 +104,7 @@ func UpStateBlocksRefactor(tx *sql.Tx) error { state_snapshot_nid, room_nid, state_block_nid; - `, batchoffset, batchsize) + `, batchsize, batchoffset) if err != nil { return fmt.Errorf("tx.Query: %w", err) } @@ -114,9 +114,9 @@ func UpStateBlocksRefactor(tx *sql.Tx) error { var snapshot types.StateSnapshotNID var room types.RoomNID - var blocksarray pq.Int64Array + var block types.StateBlockNID var eventsarray pq.Int64Array - if err = snapshots.Scan(&snapshot, &room, &blocksarray, &eventsarray); err != nil { + if err = snapshots.Scan(&snapshot, &room, &block, &eventsarray); err != nil { return fmt.Errorf("rows.Scan: %w", err) } @@ -138,6 +138,13 @@ func UpStateBlocksRefactor(tx *sql.Tx) error { } newblocks = append(newblocks, blocknid) + _, err = tx.Exec(` + DELETE FROM roomserver_state_block WHERE state_block_nid=$1 + `, block) + if err != nil { + return fmt.Errorf("tx.Exec (delete old block): %w", err) + } + if snapshot != lastsnapshot { var newsnapshot types.StateSnapshotNID err = tx.QueryRow(`