From 73f7cfc11bf54e0901303925dffb5624ead35f05 Mon Sep 17 00:00:00 2001 From: Nikolay Marchuk Date: Fri, 30 May 2025 00:02:56 +0700 Subject: [PATCH] Fix invalid sql query from findAll with empty sort (#9135) * Add test for empty sort for findAll in postgres * Do not add ORDER BY without order fields --------- Signed-off-by: Nikolay Marchuk --- server/postgres/src/__tests__/storage.test.ts | 3 +++ server/postgres/src/storage.ts | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/server/postgres/src/__tests__/storage.test.ts b/server/postgres/src/__tests__/storage.test.ts index 95b447b03f..88ab3b367d 100644 --- a/server/postgres/src/__tests__/storage.test.ts +++ b/server/postgres/src/__tests__/storage.test.ts @@ -247,6 +247,9 @@ describe('postgres operations', () => { const sortDesc = await client.findAll(taskPlugin.class.Task, {}, { sort: { name: SortingOrder.Descending } }) expect(sortDesc[0].name).toMatch('my-task-4') + + const sortEmpty = await client.findAll(taskPlugin.class.Task, {}, { sort: {} }) + expect(sortEmpty).toHaveLength(5) }) it('check attached', async () => { diff --git a/server/postgres/src/storage.ts b/server/postgres/src/storage.ts index bae4972ba2..fc91417406 100644 --- a/server/postgres/src/storage.ts +++ b/server/postgres/src/storage.ts @@ -522,7 +522,11 @@ abstract class PostgresAdapterBase implements DbAdapter { // todo handle custom sorting } } - return `ORDER BY ${res.join(', ')}` + if (res.length > 0) { + return `ORDER BY ${res.join(', ')}` + } else { + return '' + } } buildRawQuery( @@ -1170,7 +1174,11 @@ abstract class PostgresAdapterBase implements DbAdapter { // todo handle custom sorting } } - return `ORDER BY ${res.join(', ')}` + if (res.length > 0) { + return `ORDER BY ${res.join(', ')}` + } else { + return '' + } } private buildQuery(