diff --git a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts index 5a1884891a..81534e6f9c 100644 --- a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts +++ b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts @@ -1169,7 +1169,7 @@ export default async function formulaQueryBuilderv2( const formula = await column.getColOptions(); // clean the previous formula error if the formula works this time if (formula.error) { - await FormulaColumn.update(formula.id, { + await FormulaColumn.update(column.id, { error: null, }); } @@ -1179,9 +1179,8 @@ export default async function formulaQueryBuilderv2( console.error(e); if (column) { - const formula = await column.getColOptions(); // add formula error to show in UI - await FormulaColumn.update(formula.id, { + await FormulaColumn.update(column.id, { error: e.message, }); // update cache to reflect the error in UI diff --git a/packages/nocodb/src/models/FormulaColumn.ts b/packages/nocodb/src/models/FormulaColumn.ts index c9bd744f73..f073f69cd8 100644 --- a/packages/nocodb/src/models/FormulaColumn.ts +++ b/packages/nocodb/src/models/FormulaColumn.ts @@ -62,7 +62,7 @@ export default class FormulaColumn { id: string; static async update( - id: string, + columnId: string, formula: Partial & { parsed_tree?: any }, ncMeta = Noco.ncMeta, ) { @@ -75,7 +75,7 @@ export default class FormulaColumn { ]); // get existing cache - const key = `${CacheScope.COL_FORMULA}:${id}`; + const key = `${CacheScope.COL_FORMULA}:${columnId}`; let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); if (o) { o = { ...o, ...updateObj }; @@ -85,7 +85,9 @@ export default class FormulaColumn { if ('parsed_tree' in updateObj) updateObj.parsed_tree = stringifyMetaProp(updateObj, 'parsed_tree'); // set meta - await ncMeta.metaUpdate(null, null, MetaTable.COL_FORMULA, updateObj, id); + await ncMeta.metaUpdate(null, null, MetaTable.COL_FORMULA, updateObj, { + fk_column_id: columnId, + }); } public getParsedTree() {