Skip to content

Commit d2b9c0b

Browse files
fix(mysql): use expression inference while preserving fallback behavior
1 parent b645325 commit d2b9c0b

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

internal/compiler/output_columns.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,13 @@ func (c *Compiler) outputColumns(qc *QueryCatalog, node ast.Node) ([]*Column, er
155155
// TODO: Generate a name for these operations
156156
cols = append(cols, &Column{Name: name, DataType: "bool", NotNull: true})
157157
case lang.IsMathematicalOperator(op):
158-
cols = append(cols, &Column{Name: name, DataType: "int", NotNull: true})
158+
if inferredCol := c.inferExprType(n, tables); inferredCol != nil {
159+
inferredCol.Name = name
160+
inferredCol.skipTableRequiredCheck = true
161+
cols = append(cols, inferredCol)
162+
} else {
163+
cols = append(cols, &Column{Name: name, DataType: "int", NotNull: true})
164+
}
159165
default:
160166
cols = append(cols, &Column{Name: name, DataType: "any", NotNull: false})
161167
}

0 commit comments

Comments
 (0)