From bfc96e3c8a56292fbb494bb7cfc46ddb88e7dc97 Mon Sep 17 00:00:00 2001 From: Namekuji Date: Wed, 9 Aug 2023 22:24:54 -0400 Subject: [PATCH] fix: param building --- packages/backend/src/db/scylla.ts | 11 +++++------ .../backend/src/server/api/endpoints/notes/renotes.ts | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/backend/src/db/scylla.ts b/packages/backend/src/db/scylla.ts index 65ee4fb7f2..3a22436eb1 100644 --- a/packages/backend/src/db/scylla.ts +++ b/packages/backend/src/db/scylla.ts @@ -249,7 +249,7 @@ export function parseScyllaReaction(row: types.Row): ScyllaNoteReaction { }; } -export function prepareTimelineQuery(ps: { +export function prepareNoteQuery(ps: { untilId?: string; untilDate?: number; sinceId?: string; @@ -280,7 +280,6 @@ export function prepareTimelineQuery(ps: { queryParts.push(`AND "createdAt" > ?`); } - queryParts.push("LIMIT ?"); const query = queryParts.join(" "); return { @@ -304,7 +303,7 @@ export async function execNotePaginationQuery( ): Promise { if (!scyllaClient) return []; - let { query, untilDate, sinceDate } = prepareTimelineQuery(ps); + let { query, untilDate, sinceDate } = prepareNoteQuery(ps); let scannedEmptyPartitions = 0; const foundNotes: ScyllaNote[] = []; @@ -313,13 +312,13 @@ export async function execNotePaginationQuery( while (foundNotes.length < ps.limit && scannedEmptyPartitions < maxDays) { const params: (Date | string | string[] | number)[] = []; if (ps.noteId) { - params.push(ps.noteId); + params.push(ps.noteId, untilDate); + } else { + params.push(untilDate, untilDate); } - params.push(untilDate, untilDate); if (sinceDate) { params.push(sinceDate); } - params.push(ps.limit); const result = await scyllaClient.execute(query, params, { prepare: true, diff --git a/packages/backend/src/server/api/endpoints/notes/renotes.ts b/packages/backend/src/server/api/endpoints/notes/renotes.ts index 550981aba4..5eb320e247 100644 --- a/packages/backend/src/server/api/endpoints/notes/renotes.ts +++ b/packages/backend/src/server/api/endpoints/notes/renotes.ts @@ -102,7 +102,7 @@ export default define(meta, paramDef, async (ps, user) => { return filtered; }; - const foundNotes = await execNotePaginationQuery(ps, filter); + const foundNotes = await execNotePaginationQuery(ps, filter, 1); return await Notes.packMany(foundNotes.slice(0, ps.limit), user, { scyllaNote: true, });