Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
64 lines
989 B
SQL
64 lines
989 B
SQL
-- name: GetAuthor :one
|
|
SELECT * FROM authors
|
|
WHERE author_id = $1;
|
|
|
|
-- name: GetBook :one
|
|
SELECT * FROM books
|
|
WHERE book_id = $1;
|
|
|
|
-- name: DeleteBook :exec
|
|
DELETE FROM books
|
|
WHERE book_id = $1;
|
|
|
|
-- name: BooksByTitleYear :many
|
|
SELECT * FROM books
|
|
WHERE title = $1 AND year = $2;
|
|
|
|
-- 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[];
|
|
|
|
-- name: CreateAuthor :one
|
|
INSERT INTO authors (name) VALUES ($1)
|
|
RETURNING *;
|
|
|
|
-- name: CreateBook :one
|
|
INSERT INTO books (
|
|
author_id,
|
|
isbn,
|
|
book_type,
|
|
title,
|
|
year,
|
|
available,
|
|
tags
|
|
) VALUES (
|
|
$1,
|
|
$2,
|
|
$3,
|
|
$4,
|
|
$5,
|
|
$6,
|
|
$7
|
|
)
|
|
RETURNING *;
|
|
|
|
-- name: UpdateBook :exec
|
|
UPDATE books
|
|
SET title = $1, tags = $2
|
|
WHERE book_id = $3;
|
|
|
|
-- name: UpdateBookISBN :exec
|
|
UPDATE books
|
|
SET title = $1, tags = $2, isbn = $4
|
|
WHERE book_id = $3;
|
|
|
|
-- name: SayHello :one
|
|
select * from say_hello($1);
|