sql

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Actuator

type Actuator struct {
	Client Client
}

func NewActuator

func NewActuator(client Client) Actuator

func (Actuator) State

func (a Actuator) State(ctx context.Context) (actuator.State, error)

type Client

type Client interface {
	PingContext(ctx context.Context) error
	ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
	PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
	QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
	QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row
	BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)
	Driver() driver.Driver
}

type Config

type Config struct {
	ConnectionString    string `env:"SQL_CONNECTION_STRING,unset"`
	IsLoggingStatements bool   `env:"SQL_ENABLE_LOGGING" envDefault:"false"`
}

type ConfigTransactionFactory

type ConfigTransactionFactory struct {
	IsolationLevel int  `env:"SQL_ISOLATION_LEVEL" envDefault:"0"`
	ReadOnly       bool `env:"SQL_READ_ONLY" envDefault:"false"`
}

type LoggerClient

type LoggerClient struct {
	Logger logging.Logger
	Next   Client
}

func NewLoggerClient

func NewLoggerClient(logger logging.Logger, db Client) LoggerClient

func (LoggerClient) BeginTx

func (l LoggerClient) BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)

func (LoggerClient) Driver

func (l LoggerClient) Driver() driver.Driver

func (LoggerClient) ExecContext

func (l LoggerClient) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)

func (LoggerClient) PingContext

func (l LoggerClient) PingContext(ctx context.Context) error

func (LoggerClient) PrepareContext

func (l LoggerClient) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)

func (LoggerClient) QueryContext

func (l LoggerClient) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)

func (LoggerClient) QueryRowContext

func (l LoggerClient) QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row

type Transaction

type Transaction struct {
	Tx *sql.Tx
}

func (Transaction) Commit

func (t Transaction) Commit(_ context.Context) error

func (Transaction) Rollback

func (t Transaction) Rollback(_ context.Context) error

type TransactionContextFactory

type TransactionContextFactory struct {
	Client Client
	Config ConfigTransactionFactory
}

func NewTransactionContextFactory

func NewTransactionContextFactory(client Client, cfg ConfigTransactionFactory) TransactionContextFactory

func (TransactionContextFactory) NewContext

type TransactionalClient

type TransactionalClient struct {
	TransactionContextFactory TransactionContextFactory
	Logger                    logging.Logger
	Next                      Client
}

func NewTransactionalClient

func NewTransactionalClient(factory TransactionContextFactory, logger logging.Logger, next Client) TransactionalClient

func (TransactionalClient) BeginTx

func (t TransactionalClient) BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)

func (TransactionalClient) Driver

func (t TransactionalClient) Driver() driver.Driver

func (TransactionalClient) ExecContext

func (t TransactionalClient) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)

func (TransactionalClient) PingContext

func (t TransactionalClient) PingContext(ctx context.Context) error

func (TransactionalClient) PrepareContext

func (t TransactionalClient) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)

func (TransactionalClient) QueryContext

func (t TransactionalClient) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)

func (TransactionalClient) QueryRowContext

func (t TransactionalClient) QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row

Jump to

Keyboard shortcuts

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