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; } } }