From df195412ac766f83c7f609a1932246d6f96bf154 Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Sat, 18 Apr 2026 15:18:44 +0100 Subject: [PATCH] SQL gen bugfix --- dist/utils/sql-generator-gen-query-str.js | 18 +++++++-------- package.json | 2 +- src/utils/sql-generator-gen-query-str.ts | 28 +++++++---------------- 3 files changed, 18 insertions(+), 30 deletions(-) diff --git a/dist/utils/sql-generator-gen-query-str.js b/dist/utils/sql-generator-gen-query-str.js index cd1311b..16fa389 100644 --- a/dist/utils/sql-generator-gen-query-str.js +++ b/dist/utils/sql-generator-gen-query-str.js @@ -98,22 +98,19 @@ export default function sqlGenGenQueryStr(params) { if (selectField.count) { aliasSelectField = `COUNT(${joinTableName}.${selectField.field})`; } - if (selectField.sum) { - aliasSelectField = `SUM(${joinTableName}.${selectField.field})`; + else if (selectField.sum) { + aliasSelectField = `SUM(${selectField.distinct ? "DISTINCT " : ""}${joinTableName}.${selectField.field})`; } - if (selectField.average) { + else if (selectField.average) { aliasSelectField = `AVERAGE(${joinTableName}.${selectField.field})`; } - if (selectField.max) { + else if (selectField.max) { aliasSelectField = `MAX(${joinTableName}.${selectField.field})`; } - if (selectField.min) { + else if (selectField.min) { aliasSelectField = `MIN(${joinTableName}.${selectField.field})`; } - if (selectField.distinct) { - aliasSelectField = `DISTINCT ${joinTableName}.${selectField.field}`; - } - if (selectField.group_concat && + else if (selectField.group_concat && selectField.alias) { return sqlGenGrabConcatStr({ field: `${joinTableName}.${selectField.field}`, @@ -124,6 +121,9 @@ export default function sqlGenGenQueryStr(params) { .distinct, }); } + else if (selectField.distinct) { + aliasSelectField = `DISTINCT ${joinTableName}.${selectField.field}`; + } if (selectField.alias) aliasSelectField += ` AS ${selectField.alias}`; return aliasSelectField; diff --git a/package.json b/package.json index 29cfefe..a62a72f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@moduletrace/bun-sqlite", - "version": "1.1.1", + "version": "1.1.2", "description": "SQLite manager for Bun", "author": "Benjamin Toby", "main": "dist/index.js", diff --git a/src/utils/sql-generator-gen-query-str.ts b/src/utils/sql-generator-gen-query-str.ts index 4475d8a..5492ac1 100644 --- a/src/utils/sql-generator-gen-query-str.ts +++ b/src/utils/sql-generator-gen-query-str.ts @@ -125,29 +125,15 @@ export default function sqlGenGenQueryStr< if (selectField.count) { aliasSelectField = `COUNT(${joinTableName}.${selectField.field})`; - } - - if (selectField.sum) { - aliasSelectField = `SUM(${joinTableName}.${selectField.field})`; - } - - if (selectField.average) { + } else if (selectField.sum) { + aliasSelectField = `SUM(${selectField.distinct ? "DISTINCT " : ""}${joinTableName}.${selectField.field})`; + } else if (selectField.average) { aliasSelectField = `AVERAGE(${joinTableName}.${selectField.field})`; - } - - if (selectField.max) { + } else if (selectField.max) { aliasSelectField = `MAX(${joinTableName}.${selectField.field})`; - } - - if (selectField.min) { + } else if (selectField.min) { aliasSelectField = `MIN(${joinTableName}.${selectField.field})`; - } - - if (selectField.distinct) { - aliasSelectField = `DISTINCT ${joinTableName}.${selectField.field}`; - } - - if ( + } else if ( selectField.group_concat && selectField.alias ) { @@ -161,6 +147,8 @@ export default function sqlGenGenQueryStr< selectField.group_concat .distinct, }); + } else if (selectField.distinct) { + aliasSelectField = `DISTINCT ${joinTableName}.${selectField.field}`; } if (selectField.alias)