From 4d655c904bf08c02ee46efe6450ac08fe145fb9c Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 11 Dec 2023 13:46:38 -0600 Subject: [PATCH] db/events: ensure the latest author is used --- src/db/events.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/db/events.ts b/src/db/events.ts index 2a5f2fd7..2dd22b2b 100644 --- a/src/db/events.ts +++ b/src/db/events.ts @@ -157,11 +157,17 @@ function getFilterQuery(filter: DittoFilter): EventQuery { eb .selectFrom('events') .selectAll() + .select([ + eb.fn.agg('row_number') + .over((ob) => ob.partitionBy('pubkey').orderBy('created_at', 'desc')) + .as('rn'), + ]) .where('kind', '=', 0) - .orderBy('created_at', 'desc') - .groupBy('pubkey') .as('authors'), - (join) => join.onRef('authors.pubkey', '=', 'events.pubkey'), + (join) => + join + .onRef('authors.pubkey', '=', 'events.pubkey') + .on('authors.rn', '=', 1), ) .select([ 'authors.id as author_id',