Skip to content

Commit 9ab9d54

Browse files
committed
Refactor select query builder to ensure join select clause is only included when not empty
1 parent c6aa0c6 commit 9ab9d54

File tree

3 files changed

+11
-97
lines changed

3 files changed

+11
-97
lines changed

__tests__/repository/find-row.test.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
import { Repository } from "../../src/repository/repository";
22
import { eq, and, gt, like } from "../../src";
3-
import {executor, setupTestTables, cleanupTestData, seedTestData, DomainUser} from "../../test-setup";
4-
5-
3+
import {
4+
executor,
5+
setupTestTables,
6+
cleanupTestData,
7+
seedTestData,
8+
DomainUser,
9+
} from "../../test-setup";
610

711
describe("Repository findRow", () => {
812
let repository: Repository<DomainUser>;
@@ -34,7 +38,9 @@ describe("Repository findRow", () => {
3438
});
3539

3640
it("should return null when no row is found", async () => {
37-
const result = await repository.findRow(eq("email", '[email protected]'));
41+
const result = await repository.findRow(
42+
eq("email", "[email protected]")
43+
);
3844
expect(result).toBeNull();
3945
});
4046

__tests__/repository/join.test.ts

Lines changed: 0 additions & 92 deletions
This file was deleted.

src/query-builder/select.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ export class SelectQueryBuilder<T> extends BaseQueryBuilder<T> {
8484

8585
const sql = `
8686
SELECT ${columns}
87-
${joinSelectClause ? `,${joinSelectClause.join(",")}` : ""}
87+
${joinSelectClause.length > 0 ? `,${joinSelectClause.join(",")}` : ""}
8888
FROM "${this.tableName}"
8989
${joinConditionClause ? joinConditionClause : ""}
9090
${whereClause ? `WHERE ${whereClause}` : ""}

0 commit comments

Comments
 (0)