From 348e6a696436ebe14090473d53ce698d9dac345b Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Wed, 12 Apr 2023 18:34:57 +0800 Subject: [PATCH] fix(nocodb): add missing parsing logic --- .../db/sql-data-mapper/lib/sql/BaseModelSqlv2.ts | 13 ++++++++++--- 1 file changed, 10 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 2890fd3508..453af0f141 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 @@ -3242,17 +3242,24 @@ function extractCondition(nestedArrayConditions, aliasColObjMap) { // eslint-disable-next-line prefer-const let [logicOp, alias, op, value] = str.match(/(?:~(and|or|not))?\((.*?),(\w+),(.*)\)/)?.slice(1) || []; + + if (!alias && !op && !value) { + // try match with blank filter format + [logicOp, alias, op, value] = + str.match(/(?:~(and|or|not))?\((.*?),(\w+)\)/)?.slice(1) || []; + } let sub_op = null; if (aliasColObjMap[alias]) { if ( [UITypes.Date, UITypes.DateTime].includes(aliasColObjMap[alias].uidt) ) { - value = value.split(','); + value = value?.split(','); // the first element would be sub_op - sub_op = value[0]; + sub_op = value?.[0]; // remove the first element which is sub_op - value.shift(); + value?.shift(); + value = value?.[0]; } else if (op === 'in') { value = value.split(','); }