diff --git a/packages/nocodb/src/db/conditionV2.ts b/packages/nocodb/src/db/conditionV2.ts index d4a73afd62..be7e3eb2c1 100644 --- a/packages/nocodb/src/db/conditionV2.ts +++ b/packages/nocodb/src/db/conditionV2.ts @@ -1087,7 +1087,10 @@ async function generateLookupCondition( if (relationColumnOptions.type === RelationTypes.HAS_MANY) { qb = knex( - `${baseModelSqlv2.getTnPath(childModel.table_name)} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel.table_name), + alias, + ]), ); qb.select(`${alias}.${childColumn.column_name}`); @@ -1115,7 +1118,10 @@ async function generateLookupCondition( }; } else if (relationColumnOptions.type === RelationTypes.BELONGS_TO) { qb = knex( - `${baseModelSqlv2.getTnPath(parentModel.table_name)} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + alias, + ]), ); qb.select(`${alias}.${parentColumn.column_name}`); @@ -1151,12 +1157,18 @@ async function generateLookupCondition( const childAlias = `__nc${aliasCount.count++}`; - qb = knex(`${baseModelSqlv2.getTnPath(mmModel.table_name)} as ${alias}`) + qb = knex( + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(mmModel.table_name), + alias, + ]), + ) .select(`${alias}.${mmChildColumn.column_name}`) .join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${childAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + childAlias, + ]), `${alias}.${mmParentColumn.column_name}`, `${childAlias}.${parentColumn.column_name}`, ); @@ -1225,9 +1237,10 @@ async function nestedConditionJoin( case RelationTypes.HAS_MANY: { qb.join( - `${baseModelSqlv2.getTnPath( - childModel.table_name, - )} as ${relAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel.table_name), + relAlias, + ]), `${alias}.${parentColumn.column_name}`, `${relAlias}.${childColumn.column_name}`, ); @@ -1236,9 +1249,10 @@ async function nestedConditionJoin( case RelationTypes.BELONGS_TO: { qb.join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${relAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + relAlias, + ]), `${alias}.${childColumn.column_name}`, `${relAlias}.${parentColumn.column_name}`, ); @@ -1253,15 +1267,17 @@ async function nestedConditionJoin( const assocAlias = `__nc${aliasCount.count++}`; qb.join( - `${baseModelSqlv2.getTnPath( - mmModel.table_name, - )} as ${assocAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(mmModel.table_name), + assocAlias, + ]), `${assocAlias}.${mmChildColumn.column_name}`, `${alias}.${childColumn.column_name}`, ).join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${relAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + relAlias, + ]), `${relAlias}.${parentColumn.column_name}`, `${assocAlias}.${mmParentColumn.column_name}`, ); diff --git a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts index bbabc72357..3f2d429da6 100644 --- a/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts +++ b/packages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts @@ -159,9 +159,10 @@ async function _formulaQueryBuilder( switch (relation.type) { case 'bt': selectQb = knex( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + alias, + ]), ).where( `${alias}.${parentColumn.column_name}`, knex.raw(`??`, [ @@ -175,9 +176,10 @@ async function _formulaQueryBuilder( case 'hm': isMany = true; selectQb = knex( - `${baseModelSqlv2.getTnPath( - childModel.table_name, - )} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel.table_name), + alias, + ]), ).where( `${alias}.${childColumn.column_name}`, knex.raw(`??`, [ @@ -197,14 +199,16 @@ async function _formulaQueryBuilder( const assocAlias = `__nc${aliasCount++}`; selectQb = knex( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + alias, + ]), ) .join( - `${baseModelSqlv2.getTnPath( - mmModel.table_name, - )} as ${assocAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(mmModel.table_name), + assocAlias, + ]), `${assocAlias}.${mmParentColumn.column_name}`, `${alias}.${parentColumn.column_name}`, ) @@ -245,9 +249,10 @@ async function _formulaQueryBuilder( case 'bt': { selectQb.join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + nestedAlias, + ]), `${prevAlias}.${childColumn.column_name}`, `${nestedAlias}.${parentColumn.column_name}`, ); @@ -257,9 +262,10 @@ async function _formulaQueryBuilder( { isMany = true; selectQb.join( - `${baseModelSqlv2.getTnPath( - childModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel.table_name), + nestedAlias, + ]), `${prevAlias}.${parentColumn.column_name}`, `${nestedAlias}.${childColumn.column_name}`, ); @@ -275,16 +281,18 @@ async function _formulaQueryBuilder( selectQb .join( - `${baseModelSqlv2.getTnPath( - mmModel.table_name, - )} as ${assocAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(mmModel.table_name), + assocAlias, + ]), `${assocAlias}.${mmChildColumn.column_name}`, `${prevAlias}.${childColumn.column_name}`, ) .join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + nestedAlias, + ]), `${nestedAlias}.${parentColumn.column_name}`, `${assocAlias}.${mmParentColumn.column_name}`, ); @@ -353,9 +361,10 @@ async function _formulaQueryBuilder( case 'bt': { selectQb.join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + nestedAlias, + ]), `${alias}.${childColumn.column_name}`, `${nestedAlias}.${parentColumn.column_name}`, ); @@ -369,9 +378,10 @@ async function _formulaQueryBuilder( { isMany = true; selectQb.join( - `${baseModelSqlv2.getTnPath( - childModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel.table_name), + nestedAlias, + ]), `${alias}.${parentColumn.column_name}`, `${nestedAlias}.${childColumn.column_name}`, ); @@ -393,16 +403,18 @@ async function _formulaQueryBuilder( selectQb .join( - `${baseModelSqlv2.getTnPath( - mmModel.table_name, - )} as ${assocAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(mmModel.table_name), + assocAlias, + ]), `${assocAlias}.${mmChildColumn.column_name}`, `${alias}.${childColumn.column_name}`, ) .join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + nestedAlias, + ]), `${nestedAlias}.${parentColumn.column_name}`, `${assocAlias}.${mmParentColumn.column_name}`, ); @@ -414,9 +426,10 @@ async function _formulaQueryBuilder( } selectQb.join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + nestedAlias, + ]), `${nestedAlias}.${parentColumn.column_name}`, `${prevAlias}.${childColumn.column_name}`, ); @@ -598,7 +611,10 @@ async function _formulaQueryBuilder( const mmChildColumn = await relation.getMMChildColumn(); const qb = knex( - `${baseModelSqlv2.getTnPath(parentModel.table_name)} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + alias, + ]), ) .join( `${baseModelSqlv2.getTnPath(mmModel.table_name)}`, diff --git a/packages/nocodb/src/db/genRollupSelectv2.ts b/packages/nocodb/src/db/genRollupSelectv2.ts index d4443e1c52..05f55ae2f0 100644 --- a/packages/nocodb/src/db/genRollupSelectv2.ts +++ b/packages/nocodb/src/db/genRollupSelectv2.ts @@ -33,9 +33,10 @@ export default async function ({ case RelationTypes.HAS_MANY: return { builder: knex( - `${baseModelSqlv2.getTnPath( - childModel?.table_name, - )} as ${refTableAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel?.table_name), + refTableAlias, + ]), ) [columnOptions.rollup_function as string]?.( knex.ref(`${refTableAlias}.${rollupColumn.column_name}`), @@ -57,9 +58,10 @@ export default async function ({ return { builder: knex( - `${baseModelSqlv2.getTnPath( - parentModel?.table_name, - )} as ${refTableAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel?.table_name), + refTableAlias, + ]), ) [columnOptions.rollup_function as string]?.( knex.ref(`${refTableAlias}.${rollupColumn.column_name}`), diff --git a/packages/nocodb/src/db/generateLookupSelectQuery.ts b/packages/nocodb/src/db/generateLookupSelectQuery.ts index 2ea55b9002..2a5d1bd54c 100644 --- a/packages/nocodb/src/db/generateLookupSelectQuery.ts +++ b/packages/nocodb/src/db/generateLookupSelectQuery.ts @@ -80,7 +80,10 @@ export default async function generateLookupSelectQuery({ await parentModel.getColumns(); selectQb = knex( - `${baseModelSqlv2.getTnPath(parentModel.table_name)} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + alias, + ]), ).where( `${alias}.${parentColumn.column_name}`, knex.raw(`??`, [ @@ -102,7 +105,10 @@ export default async function generateLookupSelectQuery({ await parentModel.getColumns(); selectQb = knex( - `${baseModelSqlv2.getTnPath(childModel.table_name)} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel.table_name), + alias, + ]), ).where( `${alias}.${childColumn.column_name}`, knex.raw(`??`, [ @@ -124,7 +130,10 @@ export default async function generateLookupSelectQuery({ await parentModel.getColumns(); selectQb = knex( - `${baseModelSqlv2.getTnPath(parentModel.table_name)} as ${alias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + alias, + ]), ); const mmTableAlias = getAlias(); @@ -193,9 +202,10 @@ export default async function generateLookupSelectQuery({ await parentModel.getColumns(); selectQb.join( - `${baseModelSqlv2.getTnPath( - parentModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(parentModel.table_name), + nestedAlias, + ]), `${nestedAlias}.${parentColumn.column_name}`, `${prevAlias}.${childColumn.column_name}`, ); @@ -209,9 +219,10 @@ export default async function generateLookupSelectQuery({ await parentModel.getColumns(); selectQb.join( - `${baseModelSqlv2.getTnPath( - childModel.table_name, - )} as ${nestedAlias}`, + knex.raw(`?? as ??`, [ + baseModelSqlv2.getTnPath(childModel.table_name), + nestedAlias, + ]), `${nestedAlias}.${childColumn.column_name}`, `${prevAlias}.${parentColumn.column_name}`, );