diff --git a/packages/nocodb-sdk/src/lib/formulaHelpers.ts b/packages/nocodb-sdk/src/lib/formulaHelpers.ts index 1775c57a8a..fc3858dc47 100644 --- a/packages/nocodb-sdk/src/lib/formulaHelpers.ts +++ b/packages/nocodb-sdk/src/lib/formulaHelpers.ts @@ -46,6 +46,9 @@ export const jsepCurlyHook = { jsep.hooks.add('gobble-token', function gobbleCurlyLiteral(env) { const OCURLY_CODE = 123; // { const CCURLY_CODE = 125; // } + // jsep.addIdentifierChar('.'); + // jsep.addIdentifierChar('*'); + // jsep.addIdentifierChar('?'); let start = -1; const { context } = env; if ( @@ -1408,7 +1411,7 @@ export function validateFormulaAndExtractTreeWithType({ { const sqlUI = typeof clientOrSqlUi === 'string' - ? SqlUiFactory.create(clientOrSqlUi) + ? SqlUiFactory.create({ client: clientOrSqlUi }) : clientOrSqlUi; if (sqlUI) { const abstractType = sqlUI.getAbstractType(col); diff --git a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts index 993dedf412..e7b056c5bf 100644 --- a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts +++ b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts @@ -80,9 +80,16 @@ async function _formulaQueryBuilder( tree = validateFormulaAndExtractTreeWithType({ formula: _tree.replaceAll('{{', '{').replaceAll('}}', '}'), columns, - clientOrSqlUi: await Source.get( - model?.source_id ?? column?.source_id, - ).then((source) => source.type), + clientOrSqlUi: baseModelSqlv2.clientType as + | 'mysql' + | 'pg' + | 'sqlite3' + | 'mssql' + | 'mysql2' + | 'oracledb' + | 'mariadb' + | 'sqlite' + | 'snowflake', }); // populate and save parsedTree to column if not exist