From b6788072c20b5f235df9272625c3d1d7522d27e0 Mon Sep 17 00:00:00 2001 From: James Ward Date: Sat, 2 Oct 2021 18:43:28 -0400 Subject: [PATCH] fix: support DeleteResult in SQLiteDriver (#8237) --- src/driver/sqlite/SqliteQueryRunner.ts | 10 ++++++---- .../query-builder/delete/query-builder-delete.ts | 5 ++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/driver/sqlite/SqliteQueryRunner.ts b/src/driver/sqlite/SqliteQueryRunner.ts index 8747b20e4c..e24d71f1b4 100644 --- a/src/driver/sqlite/SqliteQueryRunner.ts +++ b/src/driver/sqlite/SqliteQueryRunner.ts @@ -51,13 +51,15 @@ export class SqliteQueryRunner extends AbstractSqliteQueryRunner { const databaseConnection = await this.connect(); this.driver.connection.logger.logQuery(query, parameters, this); const queryStartTime = +new Date(); - const isInsertQuery = query.substr(0, 11) === "INSERT INTO"; + const isInsertQuery = query.startsWith("INSERT "); + const isDeleteQuery = query.startsWith("DELETE "); + const isUpdateQuery = query.startsWith("UPDATE "); const execute = async () => { - if (isInsertQuery) { - databaseConnection.run(query, parameters, handler); + if (isInsertQuery || isDeleteQuery || isUpdateQuery) { + await databaseConnection.run(query, parameters, handler); } else { - databaseConnection.all(query, parameters, handler); + await databaseConnection.all(query, parameters, handler); } }; diff --git a/test/functional/query-builder/delete/query-builder-delete.ts b/test/functional/query-builder/delete/query-builder-delete.ts index 4c7be03883..d7e12ba5d3 100644 --- a/test/functional/query-builder/delete/query-builder-delete.ts +++ b/test/functional/query-builder/delete/query-builder-delete.ts @@ -95,9 +95,8 @@ describe("query builder > delete", () => { it("should return correct delete result", () => Promise.all(connections.map(async connection => { - // don't run test for sqlite and sqljs as they don't return affected rows - // better-sqlite3 works correctly - if (connection.name === "sqlite" || connection.name === "sqljs" || connection.name === "sap") + // don't run test for SAP Hana as it won't return these + if (connection.name === "sap") return; // save some users