From 90e1b29422ce983d3b9ee5daf34c7b4db47961b0 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Sat, 15 Apr 2023 17:12:10 +0800 Subject: [PATCH] fix: add missing parsing logic --- packages/nocodb-nest/src/db/BaseModelSqlv2.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/nocodb-nest/src/db/BaseModelSqlv2.ts b/packages/nocodb-nest/src/db/BaseModelSqlv2.ts index 78a73828ea..e611a6eac6 100644 --- a/packages/nocodb-nest/src/db/BaseModelSqlv2.ts +++ b/packages/nocodb-nest/src/db/BaseModelSqlv2.ts @@ -3275,17 +3275,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(','); }