From edc681bd6f2b900174793816237380b23c772a08 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Mon, 3 Apr 2023 12:11:53 +0800 Subject: [PATCH] fix(nocodb): bulk delete logic --- .../src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts b/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts index 8ab975d42c..4a76d42304 100644 --- a/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts +++ b/packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts @@ -2206,22 +2206,25 @@ class BaseModelSqlv2 { transaction = await this.dbDriver.transaction(); const deleted = []; + const deletePkValues = []; const res = []; for (const d of deleteIds) { - await this.validate(d); const pkValues = await this._extractPksValues(d); if (!pkValues) { // pk not specified - bypass continue; } - - deleted.push(await this.readByPk(pkValues)); + deletePkValues.push(pkValues); await transaction(this.tnPath).del().where(d); res.push(d); } await transaction.commit(); + for (const pkValues of deletePkValues) { + deleted.push(await this.readByPk(pkValues)); + } + await this.afterBulkDelete(deleted, this.dbDriver, cookie); return res;