Skip to content

Commit 3f176c7

Browse files
authored
Inline measures. (#1694)
1 parent be099d9 commit 3f176c7

File tree

1 file changed

+4
-8
lines changed
  • packages/malloy/src/dialect/trino

1 file changed

+4
-8
lines changed

packages/malloy/src/dialect/trino/trino.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,10 @@ export class TrinoDialect extends Dialect {
180180
groupSet: number,
181181
fieldList: DialectFieldList
182182
): string {
183-
const fields = fieldList
184-
.map(f => `${f.sqlExpression} as ${f.sqlOutputName}`)
185-
.join(', ');
186-
const nullValues = fieldList
187-
.map(f => `NULL as ${f.sqlOutputName}`)
188-
.join(', ');
189-
190-
return `COALESCE(ANY_VALUE(CASE WHEN group_set=${groupSet} THEN STRUCT(${fields}) END), STRUCT(${nullValues}))`;
183+
const fields = fieldList.map(f => f.sqlExpression).join(', ');
184+
const nullValues = fieldList.map(_f => 'NULL').join(', ');
185+
const definitions = this.buildTypeExpression(fieldList);
186+
return `COALESCE(ANY_VALUE(CASE WHEN group_set=${groupSet} THEN CAST(ROW(${fields}) AS ROW(${definitions})) END), CAST(ROW(${nullValues}) AS ROW(${definitions})))`;
191187
}
192188

193189
//

0 commit comments

Comments
 (0)