snapshot of https://github.com/sqlc-dev/sqlc.git (main, 2026-09-16; blobs > 131072B omitted)
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

This commit is contained in:
upstream-mirror
2026-09-16 02:17:34 +05:00
commit 0f4df23290
7340 changed files with 238743 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
package db
import (
"context"
"database/sql"
)
type DBTX interface {
ExecContext(context.Context, string, ...any) (sql.Result, error)
PrepareContext(context.Context, string) (*sql.Stmt, error)
QueryContext(context.Context, string, ...any) (*sql.Rows, error)
QueryRowContext(context.Context, string, ...any) *sql.Row
}
func New(db DBTX) *Queries {
return &Queries{db: db}
}
type Queries struct {
db DBTX
}
func (q *Queries) WithTx(tx *sql.Tx) *Queries {
return &Queries{
db: tx,
}
}

View File

@@ -0,0 +1,21 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
package db
import (
"context"
models "github.com/sqlc-dev/sqlc/endtoend/output_models_path/postgresql/model"
)
type Querier interface {
CreateAuthor(ctx context.Context, arg CreateAuthorParams) (models.Author, error)
GetAuthor(ctx context.Context, id int64) (models.Author, error)
GetBook(ctx context.Context, id int64) (models.Book, error)
ListAuthors(ctx context.Context) ([]models.Author, error)
ListAuthorsByStatus(ctx context.Context, status models.Status) ([]models.Author, error)
}
var _ Querier = (*Queries)(nil)

View File

@@ -0,0 +1,126 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: query.sql
package db
import (
"context"
"database/sql"
models "github.com/sqlc-dev/sqlc/endtoend/output_models_path/postgresql/model"
)
const createAuthor = `-- name: CreateAuthor :one
INSERT INTO authors (name, bio, status) VALUES ($1, $2, $3) RETURNING id, name, bio, status
`
type CreateAuthorParams struct {
Name string
Bio sql.NullString
Status models.Status
}
func (q *Queries) CreateAuthor(ctx context.Context, arg CreateAuthorParams) (models.Author, error) {
row := q.db.QueryRowContext(ctx, createAuthor, arg.Name, arg.Bio, arg.Status)
var i models.Author
err := row.Scan(
&i.ID,
&i.Name,
&i.Bio,
&i.Status,
)
return i, err
}
const getAuthor = `-- name: GetAuthor :one
SELECT id, name, bio, status FROM authors WHERE id = $1 LIMIT 1
`
func (q *Queries) GetAuthor(ctx context.Context, id int64) (models.Author, error) {
row := q.db.QueryRowContext(ctx, getAuthor, id)
var i models.Author
err := row.Scan(
&i.ID,
&i.Name,
&i.Bio,
&i.Status,
)
return i, err
}
const getBook = `-- name: GetBook :one
SELECT id, author_id, title FROM books WHERE id = $1 LIMIT 1
`
func (q *Queries) GetBook(ctx context.Context, id int64) (models.Book, error) {
row := q.db.QueryRowContext(ctx, getBook, id)
var i models.Book
err := row.Scan(&i.ID, &i.AuthorID, &i.Title)
return i, err
}
const listAuthors = `-- name: ListAuthors :many
SELECT id, name, bio, status FROM authors ORDER BY name
`
func (q *Queries) ListAuthors(ctx context.Context) ([]models.Author, error) {
rows, err := q.db.QueryContext(ctx, listAuthors)
if err != nil {
return nil, err
}
defer rows.Close()
var items []models.Author
for rows.Next() {
var i models.Author
if err := rows.Scan(
&i.ID,
&i.Name,
&i.Bio,
&i.Status,
); 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
}
const listAuthorsByStatus = `-- name: ListAuthorsByStatus :many
SELECT id, name, bio, status FROM authors WHERE status = $1 ORDER BY name
`
func (q *Queries) ListAuthorsByStatus(ctx context.Context, status models.Status) ([]models.Author, error) {
rows, err := q.db.QueryContext(ctx, listAuthorsByStatus, status)
if err != nil {
return nil, err
}
defer rows.Close()
var items []models.Author
for rows.Next() {
var i models.Author
if err := rows.Scan(
&i.ID,
&i.Name,
&i.Bio,
&i.Status,
); 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
}

View File

@@ -0,0 +1,67 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
package model
import (
"database/sql"
"database/sql/driver"
"fmt"
)
type Status string
const (
StatusActive Status = "active"
StatusInactive Status = "inactive"
StatusPending Status = "pending"
)
func (e *Status) Scan(src any) error {
switch s := src.(type) {
case []byte:
*e = Status(s)
case string:
*e = Status(s)
default:
return fmt.Errorf("unsupported scan type for Status: %T", src)
}
return nil
}
type NullStatus struct {
Status Status
Valid bool // Valid is true if Status is not NULL
}
// Scan implements the Scanner interface.
func (ns *NullStatus) Scan(value any) error {
if value == nil {
ns.Status, ns.Valid = "", false
return nil
}
ns.Valid = true
return ns.Status.Scan(value)
}
// Value implements the driver Valuer interface.
func (ns NullStatus) Value() (driver.Value, error) {
if !ns.Valid {
return nil, nil
}
return string(ns.Status), nil
}
type Author struct {
ID int64
Name string
Bio sql.NullString
Status Status
}
type Book struct {
ID int64
AuthorID int64
Title string
}

View File

@@ -0,0 +1,14 @@
-- name: GetAuthor :one
SELECT * FROM authors WHERE id = $1 LIMIT 1;
-- name: ListAuthors :many
SELECT * FROM authors ORDER BY name;
-- name: CreateAuthor :one
INSERT INTO authors (name, bio, status) VALUES ($1, $2, $3) RETURNING *;
-- name: ListAuthorsByStatus :many
SELECT * FROM authors WHERE status = $1 ORDER BY name;
-- name: GetBook :one
SELECT * FROM books WHERE id = $1 LIMIT 1;

View File

@@ -0,0 +1,14 @@
CREATE TYPE status AS ENUM ('active', 'inactive', 'pending');
CREATE TABLE authors (
id BIGSERIAL PRIMARY KEY,
name text NOT NULL,
bio text,
status status NOT NULL DEFAULT 'active'
);
CREATE TABLE books (
id BIGSERIAL PRIMARY KEY,
author_id BIGINT NOT NULL REFERENCES authors(id),
title text NOT NULL
);

View File

@@ -0,0 +1,19 @@
{
"version": "2",
"sql": [
{
"schema": "schema.sql",
"queries": "query.sql",
"engine": "postgresql",
"gen": {
"go": {
"out": "db",
"package": "db",
"emit_interface": true,
"output_models_path": "model",
"output_models_import": "github.com/sqlc-dev/sqlc/endtoend/output_models_path/postgresql/model"
}
}
}
]
}