// 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, } }