123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- // Code generated by sqlc. DO NOT EDIT.
- // versions:
- // sqlc v1.27.0
- // source: query.sql
- package booktest
- import (
- "context"
- "github.com/jackc/pgx/v5/pgtype"
- )
- const booksByTags = `-- name: BooksByTags :many
- SELECT
- book_id,
- title,
- name,
- isbn,
- tags
- FROM books
- LEFT JOIN authors ON books.author_id = authors.author_id
- WHERE tags && $1::varchar[]
- `
- type BooksByTagsRow struct {
- BookID int32
- Title string
- Name pgtype.Text
- Isbn string
- Tags []string
- }
- func (q *Queries) BooksByTags(ctx context.Context, dollar_1 []string) ([]BooksByTagsRow, error) {
- rows, err := q.db.Query(ctx, booksByTags, dollar_1)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []BooksByTagsRow
- for rows.Next() {
- var i BooksByTagsRow
- if err := rows.Scan(
- &i.BookID,
- &i.Title,
- &i.Name,
- &i.Isbn,
- &i.Tags,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
- }
- const booksByTitleYear = `-- name: BooksByTitleYear :many
- SELECT book_id, author_id, isbn, book_type, title, year, available, tags FROM books
- WHERE title = $1 AND year = $2
- `
- type BooksByTitleYearParams struct {
- Title string
- Year int32
- }
- func (q *Queries) BooksByTitleYear(ctx context.Context, arg BooksByTitleYearParams) ([]Book, error) {
- rows, err := q.db.Query(ctx, booksByTitleYear, arg.Title, arg.Year)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Book
- for rows.Next() {
- var i Book
- if err := rows.Scan(
- &i.BookID,
- &i.AuthorID,
- &i.Isbn,
- &i.BookType,
- &i.Title,
- &i.Year,
- &i.Available,
- &i.Tags,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
- }
- const createAuthor = `-- name: CreateAuthor :one
- INSERT INTO authors (name) VALUES ($1)
- RETURNING author_id, name
- `
- func (q *Queries) CreateAuthor(ctx context.Context, name string) (Author, error) {
- row := q.db.QueryRow(ctx, createAuthor, name)
- var i Author
- err := row.Scan(&i.AuthorID, &i.Name)
- return i, err
- }
- const createBook = `-- name: CreateBook :one
- INSERT INTO books (
- author_id,
- isbn,
- book_type,
- title,
- year,
- available,
- tags
- ) VALUES (
- $1,
- $2,
- $3,
- $4,
- $5,
- $6,
- $7
- )
- RETURNING book_id, author_id, isbn, book_type, title, year, available, tags
- `
- type CreateBookParams struct {
- AuthorID int32
- Isbn string
- BookType BookType
- Title string
- Year int32
- Available pgtype.Timestamptz
- Tags []string
- }
- func (q *Queries) CreateBook(ctx context.Context, arg CreateBookParams) (Book, error) {
- row := q.db.QueryRow(ctx, createBook,
- arg.AuthorID,
- arg.Isbn,
- arg.BookType,
- arg.Title,
- arg.Year,
- arg.Available,
- arg.Tags,
- )
- var i Book
- err := row.Scan(
- &i.BookID,
- &i.AuthorID,
- &i.Isbn,
- &i.BookType,
- &i.Title,
- &i.Year,
- &i.Available,
- &i.Tags,
- )
- return i, err
- }
- const deleteBook = `-- name: DeleteBook :exec
- DELETE FROM books
- WHERE book_id = $1
- `
- func (q *Queries) DeleteBook(ctx context.Context, bookID int32) error {
- _, err := q.db.Exec(ctx, deleteBook, bookID)
- return err
- }
- const getAuthor = `-- name: GetAuthor :one
- SELECT author_id, name FROM authors
- WHERE author_id = $1
- `
- func (q *Queries) GetAuthor(ctx context.Context, authorID int32) (Author, error) {
- row := q.db.QueryRow(ctx, getAuthor, authorID)
- var i Author
- err := row.Scan(&i.AuthorID, &i.Name)
- return i, err
- }
- const getBook = `-- name: GetBook :one
- SELECT book_id, author_id, isbn, book_type, title, year, available, tags FROM books
- WHERE book_id = $1
- `
- func (q *Queries) GetBook(ctx context.Context, bookID int32) (Book, error) {
- row := q.db.QueryRow(ctx, getBook, bookID)
- var i Book
- err := row.Scan(
- &i.BookID,
- &i.AuthorID,
- &i.Isbn,
- &i.BookType,
- &i.Title,
- &i.Year,
- &i.Available,
- &i.Tags,
- )
- return i, err
- }
- const sayHello = `-- name: SayHello :one
- select say_hello from say_hello($1)
- `
- func (q *Queries) SayHello(ctx context.Context, s string) (pgtype.Text, error) {
- row := q.db.QueryRow(ctx, sayHello, s)
- var say_hello pgtype.Text
- err := row.Scan(&say_hello)
- return say_hello, err
- }
- const updateBook = `-- name: UpdateBook :exec
- UPDATE books
- SET title = $1, tags = $2
- WHERE book_id = $3
- `
- type UpdateBookParams struct {
- Title string
- Tags []string
- BookID int32
- }
- func (q *Queries) UpdateBook(ctx context.Context, arg UpdateBookParams) error {
- _, err := q.db.Exec(ctx, updateBook, arg.Title, arg.Tags, arg.BookID)
- return err
- }
- const updateBookISBN = `-- name: UpdateBookISBN :exec
- UPDATE books
- SET title = $1, tags = $2, isbn = $4
- WHERE book_id = $3
- `
- type UpdateBookISBNParams struct {
- Title string
- Tags []string
- BookID int32
- Isbn string
- }
- func (q *Queries) UpdateBookISBN(ctx context.Context, arg UpdateBookISBNParams) error {
- _, err := q.db.Exec(ctx, updateBookISBN,
- arg.Title,
- arg.Tags,
- arg.BookID,
- arg.Isbn,
- )
- return err
- }
|