Skip to content

Issue with functions in WHERE clause #630

Closed
@torrayne

Description

@torrayne

The code below generates without any parameters making it impossible to supply the WHERE clause with parameters.

/* name: GetConversions :many */
SELECT *
FROM `conversions`
WHERE isnull(`archived_at`) = ?
ORDER BY created_at DESC
LIMIT 25;

Generated Code

const listConversions = `-- name: ListConversions :many
select id, registration_id, code, value, notes, created_by, created_at, confirmed_by, confirmed_at, archived_by, archived_at from conversions where isnull(archived_at) = :v1 order by created_at desc limit 25
`

func (q *Queries) ListConversions(ctx context.Context) ([]Conversion, error) {
	rows, err := q.query(ctx, q.listConversionsStmt, listConversions)
	if err != nil {
		return nil, err
	}
	defer rows.Close()
	items := []Conversion{}
	for rows.Next() {
		var i Conversion
		if err := rows.Scan(
			&i.ID,
			&i.RegistrationID,
			&i.Code,
			&i.Value,
			&i.Notes,
			&i.CreatedBy,
			&i.CreatedAt,
			&i.ConfirmedBy,
			&i.ConfirmedAt,
			&i.ArchivedBy,
			&i.ArchivedAt,
		); 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
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions