author

package
v0.0.0-...-78c55be Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2022 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrepareAllQueries

func PrepareAllQueries(ctx context.Context, p preparer) error

PrepareAllQueries executes a PREPARE statement for all pggen generated SQL queries in querier files. Typical usage is as the AfterConnect callback for pgxpool.Config

pgx will use the prepared statement if available. Calling PrepareAllQueries is an optional optimization to avoid a network round-trip the first time pgx runs a query if pgx statement caching is enabled.

Types

type DBQuerier

type DBQuerier struct {
	// contains filtered or unexported fields
}

func NewQuerier

func NewQuerier(conn genericConn) *DBQuerier

NewQuerier creates a DBQuerier that implements Querier. conn is typically *pgx.Conn, pgx.Tx, or *pgxpool.Pool.

func NewQuerierConfig

func NewQuerierConfig(conn genericConn, cfg QuerierConfig) *DBQuerier

NewQuerierConfig creates a DBQuerier that implements Querier with the given config. conn is typically *pgx.Conn, pgx.Tx, or *pgxpool.Pool.

func (*DBQuerier) DeleteAuthors

func (q *DBQuerier) DeleteAuthors(ctx context.Context) (pgconn.CommandTag, error)

DeleteAuthors implements Querier.DeleteAuthors.

func (*DBQuerier) DeleteAuthorsBatch

func (q *DBQuerier) DeleteAuthorsBatch(batch genericBatch)

DeleteAuthorsBatch implements Querier.DeleteAuthorsBatch.

func (*DBQuerier) DeleteAuthorsByFirstName

func (q *DBQuerier) DeleteAuthorsByFirstName(ctx context.Context, firstName string) (pgconn.CommandTag, error)

DeleteAuthorsByFirstName implements Querier.DeleteAuthorsByFirstName.

func (*DBQuerier) DeleteAuthorsByFirstNameBatch

func (q *DBQuerier) DeleteAuthorsByFirstNameBatch(batch genericBatch, firstName string)

DeleteAuthorsByFirstNameBatch implements Querier.DeleteAuthorsByFirstNameBatch.

func (*DBQuerier) DeleteAuthorsByFirstNameScan

func (q *DBQuerier) DeleteAuthorsByFirstNameScan(results pgx.BatchResults) (pgconn.CommandTag, error)

DeleteAuthorsByFirstNameScan implements Querier.DeleteAuthorsByFirstNameScan.

func (*DBQuerier) DeleteAuthorsByFullName

func (q *DBQuerier) DeleteAuthorsByFullName(ctx context.Context, params DeleteAuthorsByFullNameParams) (pgconn.CommandTag, error)

DeleteAuthorsByFullName implements Querier.DeleteAuthorsByFullName.

func (*DBQuerier) DeleteAuthorsByFullNameBatch

func (q *DBQuerier) DeleteAuthorsByFullNameBatch(batch genericBatch, params DeleteAuthorsByFullNameParams)

DeleteAuthorsByFullNameBatch implements Querier.DeleteAuthorsByFullNameBatch.

func (*DBQuerier) DeleteAuthorsByFullNameScan

func (q *DBQuerier) DeleteAuthorsByFullNameScan(results pgx.BatchResults) (pgconn.CommandTag, error)

DeleteAuthorsByFullNameScan implements Querier.DeleteAuthorsByFullNameScan.

func (*DBQuerier) DeleteAuthorsScan

func (q *DBQuerier) DeleteAuthorsScan(results pgx.BatchResults) (pgconn.CommandTag, error)

DeleteAuthorsScan implements Querier.DeleteAuthorsScan.

func (*DBQuerier) FindAuthorByID

func (q *DBQuerier) FindAuthorByID(ctx context.Context, authorID int32) (FindAuthorByIDRow, error)

FindAuthorByID implements Querier.FindAuthorByID.

func (*DBQuerier) FindAuthorByIDBatch

func (q *DBQuerier) FindAuthorByIDBatch(batch genericBatch, authorID int32)

FindAuthorByIDBatch implements Querier.FindAuthorByIDBatch.

func (*DBQuerier) FindAuthorByIDScan

func (q *DBQuerier) FindAuthorByIDScan(results pgx.BatchResults) (FindAuthorByIDRow, error)

FindAuthorByIDScan implements Querier.FindAuthorByIDScan.

func (*DBQuerier) FindAuthorNames

func (q *DBQuerier) FindAuthorNames(ctx context.Context, authorID int32) ([]FindAuthorNamesRow, error)

FindAuthorNames implements Querier.FindAuthorNames.

func (*DBQuerier) FindAuthorNamesBatch

func (q *DBQuerier) FindAuthorNamesBatch(batch genericBatch, authorID int32)

FindAuthorNamesBatch implements Querier.FindAuthorNamesBatch.

func (*DBQuerier) FindAuthorNamesScan

func (q *DBQuerier) FindAuthorNamesScan(results pgx.BatchResults) ([]FindAuthorNamesRow, error)

FindAuthorNamesScan implements Querier.FindAuthorNamesScan.

func (*DBQuerier) FindAuthors

func (q *DBQuerier) FindAuthors(ctx context.Context, firstName string) ([]FindAuthorsRow, error)

FindAuthors implements Querier.FindAuthors.

func (*DBQuerier) FindAuthorsBatch

func (q *DBQuerier) FindAuthorsBatch(batch genericBatch, firstName string)

FindAuthorsBatch implements Querier.FindAuthorsBatch.

func (*DBQuerier) FindAuthorsScan

func (q *DBQuerier) FindAuthorsScan(results pgx.BatchResults) ([]FindAuthorsRow, error)

FindAuthorsScan implements Querier.FindAuthorsScan.

func (*DBQuerier) InsertAuthor

func (q *DBQuerier) InsertAuthor(ctx context.Context, firstName string, lastName string) (int32, error)

InsertAuthor implements Querier.InsertAuthor.

func (*DBQuerier) InsertAuthorBatch

func (q *DBQuerier) InsertAuthorBatch(batch genericBatch, firstName string, lastName string)

InsertAuthorBatch implements Querier.InsertAuthorBatch.

func (*DBQuerier) InsertAuthorScan

func (q *DBQuerier) InsertAuthorScan(results pgx.BatchResults) (int32, error)

InsertAuthorScan implements Querier.InsertAuthorScan.

func (*DBQuerier) InsertAuthorSuffix

func (q *DBQuerier) InsertAuthorSuffix(ctx context.Context, params InsertAuthorSuffixParams) (InsertAuthorSuffixRow, error)

InsertAuthorSuffix implements Querier.InsertAuthorSuffix.

func (*DBQuerier) InsertAuthorSuffixBatch

func (q *DBQuerier) InsertAuthorSuffixBatch(batch genericBatch, params InsertAuthorSuffixParams)

InsertAuthorSuffixBatch implements Querier.InsertAuthorSuffixBatch.

func (*DBQuerier) InsertAuthorSuffixScan

func (q *DBQuerier) InsertAuthorSuffixScan(results pgx.BatchResults) (InsertAuthorSuffixRow, error)

InsertAuthorSuffixScan implements Querier.InsertAuthorSuffixScan.

func (*DBQuerier) WithTx

func (q *DBQuerier) WithTx(tx pgx.Tx) (*DBQuerier, error)

WithTx creates a new DBQuerier that uses the transaction to run all queries.

type DeleteAuthorsByFullNameParams

type DeleteAuthorsByFullNameParams struct {
	FirstName string
	LastName  string
	Suffix    string
}

type FindAuthorByIDRow

type FindAuthorByIDRow struct {
	AuthorID  int32   `json:"author_id"`
	FirstName string  `json:"first_name"`
	LastName  string  `json:"last_name"`
	Suffix    *string `json:"suffix"`
}

type FindAuthorNamesRow

type FindAuthorNamesRow struct {
	FirstName *string `json:"first_name"`
	LastName  *string `json:"last_name"`
}

type FindAuthorsRow

type FindAuthorsRow struct {
	AuthorID  int32   `json:"author_id"`
	FirstName string  `json:"first_name"`
	LastName  string  `json:"last_name"`
	Suffix    *string `json:"suffix"`
}

type InsertAuthorSuffixParams

type InsertAuthorSuffixParams struct {
	FirstName string
	LastName  string
	Suffix    string
}

type InsertAuthorSuffixRow

type InsertAuthorSuffixRow struct {
	AuthorID  int32   `json:"author_id"`
	FirstName string  `json:"first_name"`
	LastName  string  `json:"last_name"`
	Suffix    *string `json:"suffix"`
}

type Querier

type Querier interface {
	// FindAuthorById finds one (or zero) authors by ID.
	FindAuthorByID(ctx context.Context, authorID int32) (FindAuthorByIDRow, error)
	// FindAuthorByIDBatch enqueues a FindAuthorByID query into batch to be executed
	// later by the batch.
	FindAuthorByIDBatch(batch genericBatch, authorID int32)
	// FindAuthorByIDScan scans the result of an executed FindAuthorByIDBatch query.
	FindAuthorByIDScan(results pgx.BatchResults) (FindAuthorByIDRow, error)

	// FindAuthors finds authors by first name.
	FindAuthors(ctx context.Context, firstName string) ([]FindAuthorsRow, error)
	// FindAuthorsBatch enqueues a FindAuthors query into batch to be executed
	// later by the batch.
	FindAuthorsBatch(batch genericBatch, firstName string)
	// FindAuthorsScan scans the result of an executed FindAuthorsBatch query.
	FindAuthorsScan(results pgx.BatchResults) ([]FindAuthorsRow, error)

	// FindAuthorNames finds one (or zero) authors by ID.
	FindAuthorNames(ctx context.Context, authorID int32) ([]FindAuthorNamesRow, error)
	// FindAuthorNamesBatch enqueues a FindAuthorNames query into batch to be executed
	// later by the batch.
	FindAuthorNamesBatch(batch genericBatch, authorID int32)
	// FindAuthorNamesScan scans the result of an executed FindAuthorNamesBatch query.
	FindAuthorNamesScan(results pgx.BatchResults) ([]FindAuthorNamesRow, error)

	// DeleteAuthors deletes authors with a first name of "joe".
	DeleteAuthors(ctx context.Context) (pgconn.CommandTag, error)
	// DeleteAuthorsBatch enqueues a DeleteAuthors query into batch to be executed
	// later by the batch.
	DeleteAuthorsBatch(batch genericBatch)
	// DeleteAuthorsScan scans the result of an executed DeleteAuthorsBatch query.
	DeleteAuthorsScan(results pgx.BatchResults) (pgconn.CommandTag, error)

	// DeleteAuthorsByFirstName deletes authors by first name.
	DeleteAuthorsByFirstName(ctx context.Context, firstName string) (pgconn.CommandTag, error)
	// DeleteAuthorsByFirstNameBatch enqueues a DeleteAuthorsByFirstName query into batch to be executed
	// later by the batch.
	DeleteAuthorsByFirstNameBatch(batch genericBatch, firstName string)
	// DeleteAuthorsByFirstNameScan scans the result of an executed DeleteAuthorsByFirstNameBatch query.
	DeleteAuthorsByFirstNameScan(results pgx.BatchResults) (pgconn.CommandTag, error)

	// DeleteAuthorsByFullName deletes authors by the full name.
	DeleteAuthorsByFullName(ctx context.Context, params DeleteAuthorsByFullNameParams) (pgconn.CommandTag, error)
	// DeleteAuthorsByFullNameBatch enqueues a DeleteAuthorsByFullName query into batch to be executed
	// later by the batch.
	DeleteAuthorsByFullNameBatch(batch genericBatch, params DeleteAuthorsByFullNameParams)
	// DeleteAuthorsByFullNameScan scans the result of an executed DeleteAuthorsByFullNameBatch query.
	DeleteAuthorsByFullNameScan(results pgx.BatchResults) (pgconn.CommandTag, error)

	// InsertAuthor inserts an author by name and returns the ID.
	InsertAuthor(ctx context.Context, firstName string, lastName string) (int32, error)
	// InsertAuthorBatch enqueues a InsertAuthor query into batch to be executed
	// later by the batch.
	InsertAuthorBatch(batch genericBatch, firstName string, lastName string)
	// InsertAuthorScan scans the result of an executed InsertAuthorBatch query.
	InsertAuthorScan(results pgx.BatchResults) (int32, error)

	// InsertAuthorSuffix inserts an author by name and suffix and returns the
	// entire row.
	InsertAuthorSuffix(ctx context.Context, params InsertAuthorSuffixParams) (InsertAuthorSuffixRow, error)
	// InsertAuthorSuffixBatch enqueues a InsertAuthorSuffix query into batch to be executed
	// later by the batch.
	InsertAuthorSuffixBatch(batch genericBatch, params InsertAuthorSuffixParams)
	// InsertAuthorSuffixScan scans the result of an executed InsertAuthorSuffixBatch query.
	InsertAuthorSuffixScan(results pgx.BatchResults) (InsertAuthorSuffixRow, error)
}

Querier is a typesafe Go interface backed by SQL queries.

Methods ending with Batch enqueue a query to run later in a pgx.Batch. After calling SendBatch on pgx.Conn, pgxpool.Pool, or pgx.Tx, use the Scan methods to parse the results.

type QuerierConfig

type QuerierConfig struct {
	// DataTypes contains pgtype.Value to use for encoding and decoding instead
	// of pggen-generated pgtype.ValueTranscoder.
	//
	// If OIDs are available for an input parameter type and all of its
	// transitive dependencies, pggen will use the binary encoding format for
	// the input parameter.
	DataTypes []pgtype.DataType
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL