From 04d75cf430ed3e2c0f5961e65f4ac9675bea4519 Mon Sep 17 00:00:00 2001 From: YANG QIA <2013xile@gmail.com> Date: Tue, 14 Jan 2025 18:30:40 +0800 Subject: [PATCH] fix(data-vi): remove the `LIMIT` clause when using aggregate functions without dimensions (#6062) --- .../src/server/query-parser/query-parser.ts | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/server/query-parser/query-parser.ts b/packages/plugins/@nocobase/plugin-data-visualization/src/server/query-parser/query-parser.ts index 82144c16f49..00f576ccfcd 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/src/server/query-parser/query-parser.ts +++ b/packages/plugins/@nocobase/plugin-data-visualization/src/server/query-parser/query-parser.ts @@ -100,18 +100,21 @@ export class QueryParser { } = this.parseDimensions(ctx, dimensions, hasAgg, ctx.get?.('x-timezone')); const order = this.parseOrders(ctx, orders, hasAgg); + const queryParams = { + where, + attributes: [...measureAttributes, ...dimensionAttributes], + include, + group, + order, + subQuery: false, + raw: true, + }; + if (!hasAgg || dimensions.length) { + queryParams['limit'] = limit || 2000; + } ctx.action.params.values = { ...ctx.action.params.values, - queryParams: { - where, - attributes: [...measureAttributes, ...dimensionAttributes], - include, - group, - order, - limit: limit || 2000, - subQuery: false, - raw: true, - }, + queryParams, fieldMap: { ...measureFieldMap, ...dimensionFieldMap }, }; await next();