Skip to content

Instantly share code, notes, and snippets.

@Braden-Preston
Last active October 24, 2023 04:19
Show Gist options
  • Save Braden-Preston/7f284f1064825c2434ba6dfc76eeda9a to your computer and use it in GitHub Desktop.
Save Braden-Preston/7f284f1064825c2434ba6dfc76eeda9a to your computer and use it in GitHub Desktop.
User Queries SQLC
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.22.0
// source: query.sql
package models
import (
"context"
"database/sql"
)
const createUser = `-- name: CreateUser :one
INSERT INTO
users (name)
VALUES
(?) RETURNING id, name
`
func (q *Queries) CreateUser(ctx context.Context, name sql.NullString) (User, error) {
row := q.db.QueryRowContext(ctx, createUser, name)
var i User
err := row.Scan(&i.ID, &i.Name)
return i, err
}
const deleteUser = `-- name: DeleteUser :exec
DELETE FROM users
WHERE
id = ?
`
func (q *Queries) DeleteUser(ctx context.Context, id int64) error {
_, err := q.db.ExecContext(ctx, deleteUser, id)
return err
}
const getUser = `-- name: GetUser :one
SELECT
id, name
FROM
users
WHERE
id = ?
LIMIT
1
`
func (q *Queries) GetUser(ctx context.Context, id int64) (User, error) {
row := q.db.QueryRowContext(ctx, getUser, id)
var i User
err := row.Scan(&i.ID, &i.Name)
return i, err
}
const listUsers = `-- name: ListUsers :many
SELECT
id, name
FROM
users
ORDER BY
name
`
func (q *Queries) ListUsers(ctx context.Context) ([]User, error) {
rows, err := q.db.QueryContext(ctx, listUsers)
if err != nil {
return nil, err
}
defer rows.Close()
var items []User
for rows.Next() {
var i User
if err := rows.Scan(&i.ID, &i.Name); 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
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment