From 271fe9ba13055a240e4688ccd77452c5b4cd9742 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Tue, 28 Jun 2022 11:26:55 +0800 Subject: [PATCH] refactor: revise based on PR comment --- .../src/lib/db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts | 4 +--- packages/nocodb/src/lib/models/Model.ts | 7 ++----- 2 files changed, 3 insertions(+), 8 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 5845709f3a..e575d7e54d 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 @@ -314,9 +314,7 @@ class BaseModelSqlv2 { qb.count(this.model.primaryKey?.column_name || '*', { as: 'count' }).first(); - const res = (await this.dbDriver.raw( - qb.toQuery().replaceAll('\\?', '?') - )) as any; + const res = (await this.dbDriver.raw(unsanitize(qb.toQuery()))) as any; return (this.isPg ? res.rows[0] : res[0][0] ?? res[0]).count; } diff --git a/packages/nocodb/src/lib/models/Model.ts b/packages/nocodb/src/lib/models/Model.ts index 9cbf4f7ebc..4ae39940aa 100644 --- a/packages/nocodb/src/lib/models/Model.ts +++ b/packages/nocodb/src/lib/models/Model.ts @@ -20,6 +20,7 @@ import { import View from './View'; import { NcError } from '../meta/helpers/catchError'; import Audit from './Audit'; +import { sanitize } from '../db/sql-data-mapper/lib/sql/helpers/sanitize'; export default class Model implements TableType { copy_enabled: boolean; @@ -405,11 +406,7 @@ export default class Model implements TableType { if (isVirtualCol(col)) continue; const val = data?.[col.column_name] ?? data?.[col.title]; if (val !== undefined) { - insertObj[ - col.column_name.replace(/([^\\]|^)(\?+)/g, (_, m1, m2) => { - return `${m1}${m2.split('?').join('\\?')}`; - }) - ] = val; + insertObj[sanitize(col.column_name)] = val; } } return insertObj;