From 579d72f03ab294a04d21cba6e3fc20fb6582bb54 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Sat, 1 Jan 2022 10:48:18 +0100 Subject: [PATCH] skip condition in query designer, when parsing failed --- .../web/src/designer/DesignerQueryDumper.ts | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/web/src/designer/DesignerQueryDumper.ts b/packages/web/src/designer/DesignerQueryDumper.ts index d4c5e4af2..d25bb2f22 100644 --- a/packages/web/src/designer/DesignerQueryDumper.ts +++ b/packages/web/src/designer/DesignerQueryDumper.ts @@ -85,19 +85,24 @@ export class DesignerQueryDumper { if (!table) continue; if (!tables.find(x => x.designerId == table.designerId)) continue; - const condition = parseFilter(column.filter, findDesignerFilterType(column, this.designer)); - if (condition) { - select.where = mergeConditions( - select.where, - _.cloneDeepWith(condition, expr => { - if (expr.exprType == 'placeholder') - return { - exprType: 'column', - columnName: column.columnName, - source: findQuerySource(this.designer, column.designerId), - }; - }) - ); + try { + const condition = parseFilter(column.filter, findDesignerFilterType(column, this.designer)); + if (condition) { + select.where = mergeConditions( + select.where, + _.cloneDeepWith(condition, expr => { + if (expr.exprType == 'placeholder') + return { + exprType: 'column', + columnName: column.columnName, + source: findQuerySource(this.designer, column.designerId), + }; + }) + ); + } + } catch (err) { + // condition is skipped + continue; } } }