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(`