-
Notifications
You must be signed in to change notification settings - Fork 964
Open
Labels
@hts0000
Description
I want to generate sql.NullFloat64 but got interface{}. How can I get the correct type?
Here is my query.sql and schema.sql.
query.sql
-- name: ListTest :many SELECT (a1 / 1024) a1_float, (a2 / 1024) a2_float, a3 FROM test;
scheam.sql
CREATE TABLE test ( a1 float NULL, a2 float NULL, a3 float NULL );
The generated code look like this:
const listTest = `-- name: ListTest :many SELECT (a1 / 1024) a1_float, (a2 / 1024) a2_float, a3 FROM test ` type ListTestRow struct { A1Float interface{} A2Float interface{} A3 sql.NullFloat64 } func (q *Queries) ListTest(ctx context.Context) ([]ListTestRow, error) { rows, err := q.db.QueryContext(ctx, listTest) if err != nil { return nil, err } defer rows.Close() var items []ListTestRow for rows.Next() { var i ListTestRow if err := rows.Scan(&i.A1Float, &i.A2Float, &i.A3); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil }
The fields A1Float and A2Float in the struct ListTestRow are of type interface{}.