From 1957497e6963d2127a0375446aba63b83c5c7cd1 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Mon, 19 Apr 2021 14:14:47 +0100 Subject: [PATCH] Use pq.Int64Array for newblocks --- .../deltas/20210416150927_state_blocks_refactor.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go b/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go index 888252c1..cd4ceb06 100644 --- a/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go +++ b/roomserver/storage/postgres/deltas/20210416150927_state_blocks_refactor.go @@ -153,13 +153,18 @@ func UpStateBlocksRefactor(tx *sql.Tx) error { newblocks = append(newblocks, blocknid) if snapshot.StateSnapshotNID != lastsnapshot { + var newblocksarray pq.Int64Array + for _, b := range newblocks { + newblocksarray = append(newblocksarray, int64(b)) + } + var newsnapshot types.StateSnapshotNID err = tx.QueryRow(` INSERT INTO roomserver_state_snapshots (room_nid, state_block_nids) VALUES ($1, $2) ON CONFLICT (room_nid, state_block_nids) DO UPDATE SET room_nid=$1 RETURNING state_snapshot_nid - `, snapshot.RoomNID, newblocks).Scan(&newsnapshot) + `, snapshot.RoomNID, newblocksarray).Scan(&newsnapshot) if err != nil { return fmt.Errorf("tx.QueryRow.Scan (insert new snapshot): %w", err) }