From 8fb6e626462a1cc92c88b955747358d7c46b9d08 Mon Sep 17 00:00:00 2001 From: Juha Paananen Date: Mon, 15 Apr 2024 19:53:18 +0300 Subject: [PATCH] History query ordering fix CRDT only bundles should be last when considering bundles with the same last_serial. Otherwise the compactor will detect a discontinuity. --- backend/src/board-store.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/src/board-store.ts b/backend/src/board-store.ts index 395890a6..15c8b795 100644 --- a/backend/src/board-store.ts +++ b/backend/src/board-store.ts @@ -226,7 +226,7 @@ export function getFullBoardHistory(id: Id, client: PoolClient, cb: StreamingBoa SELECT events FROM board_event WHERE board_id=$1 - ORDER BY last_serial + ORDER BY last_serial, first_serial `, [id], client, @@ -244,7 +244,7 @@ export async function getBoardHistory(id: Id, afterSerial: Serial, cb: Streaming SELECT events FROM board_event WHERE board_id=$1 AND last_serial >= $2 - ORDER BY last_serial + ORDER BY last_serial, first_serial `, [id, afterSerial], client, @@ -409,7 +409,7 @@ export async function getBoardHistoryBundlesWithLastSerialsBetween( SELECT board_id, last_serial, events, crdt_update FROM board_event WHERE board_id=$1 AND last_serial >= $2 AND last_serial <= $3 - ORDER BY last_serial + ORDER BY last_serial, first_serial `, [id, lsMin, lsMax], ) @@ -423,7 +423,7 @@ export async function getBoardHistoryCrdtUpdates(client: PoolClient, id: Id): Pr SELECT crdt_update FROM board_event WHERE board_id=$1 AND crdt_update IS NOT NULL - ORDER BY last_serial + ORDER BY last_serial, first_serial `, [id], ) @@ -448,7 +448,7 @@ export async function getBoardHistoryBundleMetas(client: PoolClient, id: Id): Pr SELECT board_id, last_serial, first_serial, saved_at FROM board_event WHERE board_id=$1 - ORDER BY last_serial + ORDER BY last_serial, first_serial `, [id], )