Skip to content

Commit 5846a81

Browse files
authored
refactor: avoid creating nested query when mapping names (#211)
* refactor: avoid creating nested query when mapping names * address pr comments
1 parent 81e1016 commit 5846a81

File tree

6 files changed

+400
-130
lines changed

6 files changed

+400
-130
lines changed

packages/runtime/src/client/crud/dialects/postgresql.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export class PostgresCrudDialect<Schema extends SchemaDef> extends BaseCrudDiale
6060
): SelectQueryBuilder<any, any, any> {
6161
const joinedQuery = this.buildRelationJSON(model, query, relationField, parentAlias, payload);
6262

63-
return joinedQuery.select(`${parentAlias}$${relationField}.$j as ${relationField}`);
63+
return joinedQuery.select(`${parentAlias}$${relationField}.$t as ${relationField}`);
6464
}
6565

6666
private buildRelationJSON(
@@ -176,9 +176,9 @@ export class PostgresCrudDialect<Schema extends SchemaDef> extends BaseCrudDiale
176176
if (relationFieldDef.array) {
177177
return eb.fn
178178
.coalesce(sql`jsonb_agg(jsonb_build_object(${sql.join(objArgs)}))`, sql`'[]'::jsonb`)
179-
.as('$j');
179+
.as('$t');
180180
} else {
181-
return sql`jsonb_build_object(${sql.join(objArgs)})`.as('$j');
181+
return sql`jsonb_build_object(${sql.join(objArgs)})`.as('$t');
182182
}
183183
});
184184

@@ -242,7 +242,7 @@ export class PostgresCrudDialect<Schema extends SchemaDef> extends BaseCrudDiale
242242
const fieldDef = requireField(this.schema, relationModel, field);
243243
const fieldValue = fieldDef.relation
244244
? // reference the synthesized JSON field
245-
eb.ref(`${parentAlias}$${relationField}$${field}.$j`)
245+
eb.ref(`${parentAlias}$${relationField}$${field}.$t`)
246246
: // reference a plain field
247247
this.fieldRef(relationModel, field, eb, undefined, false);
248248
return [sql.lit(field), fieldValue];
@@ -260,7 +260,7 @@ export class PostgresCrudDialect<Schema extends SchemaDef> extends BaseCrudDiale
260260
.map(([field]) => [
261261
sql.lit(field),
262262
// reference the synthesized JSON field
263-
eb.ref(`${parentAlias}$${relationField}$${field}.$j`),
263+
eb.ref(`${parentAlias}$${relationField}$${field}.$t`),
264264
])
265265
.flatMap((v) => v),
266266
);

packages/runtime/src/client/crud/dialects/sqlite.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,9 @@ export class SqliteCrudDialect<Schema extends SchemaDef> extends BaseCrudDialect
213213
if (relationFieldDef.array) {
214214
return eb.fn
215215
.coalesce(sql`json_group_array(json_object(${sql.join(objArgs)}))`, sql`json_array()`)
216-
.as('$j');
216+
.as('$t');
217217
} else {
218-
return sql`json_object(${sql.join(objArgs)})`.as('data');
218+
return sql`json_object(${sql.join(objArgs)})`.as('$t');
219219
}
220220
});
221221

0 commit comments

Comments
 (0)