db

package
v0.0.0-...-bea3eb9 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2025 License: MIT Imports: 6 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDBConnection

func NewDBConnection(driverName string, dsn DSNIfc) (*sql.DB, error)

Types

type ConnectionFactoryIfc

type ConnectionFactoryIfc interface {
	// Return interface instead of struct so that other implementations may satisfy
	NewConnection(dsn DSNIfc) (*sql.DB, error)
}

type DBConnectionFactory

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

func NewDBConnectionFactory

func NewDBConnectionFactory(driver string) *DBConnectionFactory

func (*DBConnectionFactory) NewConnection

func (r *DBConnectionFactory) NewConnection(dsn DSNIfc) (*sql.DB, error)

type DBConnectionFactoryIfc

type DBConnectionFactoryIfc interface {
	NewConnection(dsn DSNIfc) (*sql.DB, error)
}

func DBConnectionFactryFromIfc

func DBConnectionFactryFromIfc(i interface{}) (DBConnectionFactoryIfc, error)

type DSN

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

func NewDSN

func NewDSN(dsn string) (*DSN, error)

func (DSN) ToHash

func (r DSN) ToHash() string

Create a unique hash of this DSN so that we can log/associate it without revealing secrets

func (DSN) ToString

func (r DSN) ToString() string

type DSNBuilder

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

func BuildDSN

func BuildDSN() *DSNBuilder

func (DSNBuilder) Build

func (r DSNBuilder) Build() (*DSN, error)

func (*DSNBuilder) Configure

func (r *DSNBuilder) Configure(config cfg.ConfigIfc) error

func (*DSNBuilder) SetAddr

func (r *DSNBuilder) SetAddr(addr string) *DSNBuilder

Network address (requires Net)

func (*DSNBuilder) SetAllowAllFiles

func (r *DSNBuilder) SetAllowAllFiles(allowAllFiles bool) *DSNBuilder

Allow all files to be used with LOAD DATA LOCAL INFILE

func (*DSNBuilder) SetAllowCleartextPasswords

func (r *DSNBuilder) SetAllowCleartextPasswords(allowCleartextPasswords bool) *DSNBuilder

Allows the cleartext client side plugin

func (*DSNBuilder) SetAllowNativePasswords

func (r *DSNBuilder) SetAllowNativePasswords(allowNativePasswords bool) *DSNBuilder

Allows the native password authentication method

func (*DSNBuilder) SetAllowOldPasswords

func (r *DSNBuilder) SetAllowOldPasswords(allowOldPasswords bool) *DSNBuilder

Allows the old insecure password method

func (*DSNBuilder) SetCheckConnLiveness

func (r *DSNBuilder) SetCheckConnLiveness(checkConnLiveness bool) *DSNBuilder

Check connections for liveness before using them

func (*DSNBuilder) SetClientFoundRows

func (r *DSNBuilder) SetClientFoundRows(clientFoundRows bool) *DSNBuilder

Return number of matching rows instead of rows changed

func (*DSNBuilder) SetCollation

func (r *DSNBuilder) SetCollation(collation string) *DSNBuilder

Connection collation

func (*DSNBuilder) SetColumnsWithAlias

func (r *DSNBuilder) SetColumnsWithAlias(columnsWithAlias bool) *DSNBuilder

Prepend table alias to column names

func (*DSNBuilder) SetDBName

func (r *DSNBuilder) SetDBName(name string) *DSNBuilder

Database name

func (*DSNBuilder) SetInterpolateParams

func (r *DSNBuilder) SetInterpolateParams(interpolateParams bool) *DSNBuilder

Interpolate placeholders into query string

func (*DSNBuilder) SetLoc

func (r *DSNBuilder) SetLoc(loc *time.Location) *DSNBuilder

Location for time.Time values

func (*DSNBuilder) SetMaxAllowedPacket

func (r *DSNBuilder) SetMaxAllowedPacket(maxAllowedPacket int) *DSNBuilder

Max packet size allowed

func (*DSNBuilder) SetMultiStatements

func (r *DSNBuilder) SetMultiStatements(multiStatements bool) *DSNBuilder

Allow multiple statements in one query

func (*DSNBuilder) SetNet

func (r *DSNBuilder) SetNet(net string) *DSNBuilder

Network type

func (*DSNBuilder) SetParams

func (r *DSNBuilder) SetParams(params map[string]string) *DSNBuilder

Connection parameters

func (*DSNBuilder) SetParseTime

func (r *DSNBuilder) SetParseTime(parseTime bool) *DSNBuilder

Parse time values to time.Time

func (*DSNBuilder) SetPasswd

func (r *DSNBuilder) SetPasswd(passwd string) *DSNBuilder

Password (requires User)

func (*DSNBuilder) SetReadTimeout

func (r *DSNBuilder) SetReadTimeout(readTimeout time.Duration) *DSNBuilder

I/O read timeout

func (*DSNBuilder) SetRejectReadOnly

func (r *DSNBuilder) SetRejectReadOnly(rejectReadOnly bool) *DSNBuilder

Reject read-only connections

func (*DSNBuilder) SetServerPubKey

func (r *DSNBuilder) SetServerPubKey(serverPubKey string) *DSNBuilder

Server public key name

func (*DSNBuilder) SetTLSConfig

func (r *DSNBuilder) SetTLSConfig(tlsConfig string) *DSNBuilder

TLS configuration name

func (*DSNBuilder) SetTimeout

func (r *DSNBuilder) SetTimeout(timeout time.Duration) *DSNBuilder

Dial timeout

func (*DSNBuilder) SetUser

func (r *DSNBuilder) SetUser(user string) *DSNBuilder

Username

func (*DSNBuilder) SetWriteTimeout

func (r *DSNBuilder) SetWriteTimeout(writeTimeout time.Duration) *DSNBuilder

I/O write timeout

type DSNBuilderIfc

type DSNBuilderIfc interface {
	Configure(config cfg.ConfigIfc) error
	SetUser(user string) *DSNBuilder
	SetPasswd(passwd string) *DSNBuilder
	SetNet(net string) *DSNBuilder
	SetAddr(addr string) *DSNBuilder
	SetDBName(name string) *DSNBuilder
	SetParams(params map[string]string) *DSNBuilder
	SetCollation(collation string) *DSNBuilder
	SetLoc(loc *time.Location) *DSNBuilder
	SetMaxAllowedPacket(maxAllowedPacket int) *DSNBuilder
	SetServerPubKey(serverPubKey string) *DSNBuilder
	SetTLSConfig(tlsConfig string) *DSNBuilder
	SetTimeout(timeout time.Duration) *DSNBuilder
	SetReadTimeout(readTimeout time.Duration) *DSNBuilder
	SetWriteTimeout(writeTimeout time.Duration) *DSNBuilder
	SetAllowAllFiles(allowAllFiles bool) *DSNBuilder
	SetAllowCleartextPasswords(allowCleartextPasswords bool) *DSNBuilder
	SetAllowNativePasswords(allowNativePasswords bool) *DSNBuilder
	SetAllowOldPasswords(allowOldPasswords bool) *DSNBuilder
	SetCheckConnLiveness(checkConnLiveness bool) *DSNBuilder
	SetClientFoundRows(clientFoundRows bool) *DSNBuilder
	SetColumnsWithAlias(columnsWithAlias bool) *DSNBuilder
	SetInterpolateParams(interpolateParams bool) *DSNBuilder
	SetMultiStatements(multiStatements bool) *DSNBuilder
	SetParseTime(parseTime bool) *DSNBuilder
	SetRejectReadOnly(rejectReadOnly bool) *DSNBuilder
	Build() (*DSN, error)
}

type DSNIfc

type DSNIfc interface {
	ToHash() string
	ToString() string
}

Directories

Path Synopsis
example command

Jump to

Keyboard shortcuts

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