TinySkin/db/mysql/db.go
2023-09-02 17:39:58 +08:00

147 lines
4.6 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
package mysql
import (
"context"
"database/sql"
"fmt"
)
type DBTX interface {
ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
PrepareContext(context.Context, string) (*sql.Stmt, error)
QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}
func New(db DBTX) *Queries {
return &Queries{db: db}
}
func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
q := Queries{db: db}
var err error
if q.createUserStmt, err = db.PrepareContext(ctx, createUser); err != nil {
return nil, fmt.Errorf("error preparing query CreateUser: %w", err)
}
if q.createUserProfileStmt, err = db.PrepareContext(ctx, createUserProfile); err != nil {
return nil, fmt.Errorf("error preparing query CreateUserProfile: %w", err)
}
if q.deleteUserStmt, err = db.PrepareContext(ctx, deleteUser); err != nil {
return nil, fmt.Errorf("error preparing query DeleteUser: %w", err)
}
if q.getUserStmt, err = db.PrepareContext(ctx, getUser); err != nil {
return nil, fmt.Errorf("error preparing query GetUser: %w", err)
}
if q.getUserByEmailStmt, err = db.PrepareContext(ctx, getUserByEmail); err != nil {
return nil, fmt.Errorf("error preparing query GetUserByEmail: %w", err)
}
if q.getUserProfileByNameStmt, err = db.PrepareContext(ctx, getUserProfileByName); err != nil {
return nil, fmt.Errorf("error preparing query GetUserProfileByName: %w", err)
}
if q.listUserStmt, err = db.PrepareContext(ctx, listUser); err != nil {
return nil, fmt.Errorf("error preparing query ListUser: %w", err)
}
return &q, nil
}
func (q *Queries) Close() error {
var err error
if q.createUserStmt != nil {
if cerr := q.createUserStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing createUserStmt: %w", cerr)
}
}
if q.createUserProfileStmt != nil {
if cerr := q.createUserProfileStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing createUserProfileStmt: %w", cerr)
}
}
if q.deleteUserStmt != nil {
if cerr := q.deleteUserStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing deleteUserStmt: %w", cerr)
}
}
if q.getUserStmt != nil {
if cerr := q.getUserStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getUserStmt: %w", cerr)
}
}
if q.getUserByEmailStmt != nil {
if cerr := q.getUserByEmailStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getUserByEmailStmt: %w", cerr)
}
}
if q.getUserProfileByNameStmt != nil {
if cerr := q.getUserProfileByNameStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getUserProfileByNameStmt: %w", cerr)
}
}
if q.listUserStmt != nil {
if cerr := q.listUserStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing listUserStmt: %w", cerr)
}
}
return err
}
func (q *Queries) exec(ctx context.Context, stmt *sql.Stmt, query string, args ...interface{}) (sql.Result, error) {
switch {
case stmt != nil && q.tx != nil:
return q.tx.StmtContext(ctx, stmt).ExecContext(ctx, args...)
case stmt != nil:
return stmt.ExecContext(ctx, args...)
default:
return q.db.ExecContext(ctx, query, args...)
}
}
func (q *Queries) query(ctx context.Context, stmt *sql.Stmt, query string, args ...interface{}) (*sql.Rows, error) {
switch {
case stmt != nil && q.tx != nil:
return q.tx.StmtContext(ctx, stmt).QueryContext(ctx, args...)
case stmt != nil:
return stmt.QueryContext(ctx, args...)
default:
return q.db.QueryContext(ctx, query, args...)
}
}
func (q *Queries) queryRow(ctx context.Context, stmt *sql.Stmt, query string, args ...interface{}) *sql.Row {
switch {
case stmt != nil && q.tx != nil:
return q.tx.StmtContext(ctx, stmt).QueryRowContext(ctx, args...)
case stmt != nil:
return stmt.QueryRowContext(ctx, args...)
default:
return q.db.QueryRowContext(ctx, query, args...)
}
}
type Queries struct {
db DBTX
tx *sql.Tx
createUserStmt *sql.Stmt
createUserProfileStmt *sql.Stmt
deleteUserStmt *sql.Stmt
getUserStmt *sql.Stmt
getUserByEmailStmt *sql.Stmt
getUserProfileByNameStmt *sql.Stmt
listUserStmt *sql.Stmt
}
func (q *Queries) WithTx(tx *sql.Tx) *Queries {
return &Queries{
db: tx,
tx: tx,
createUserStmt: q.createUserStmt,
createUserProfileStmt: q.createUserProfileStmt,
deleteUserStmt: q.deleteUserStmt,
getUserStmt: q.getUserStmt,
getUserByEmailStmt: q.getUserByEmailStmt,
getUserProfileByNameStmt: q.getUserProfileByNameStmt,
listUserStmt: q.listUserStmt,
}
}