sql

package
v0.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2025 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrWaitReplicaTimeout = errors.New("timeout waiting for replica to be synced")
)

Functions

func BuildDSN

func BuildDSN(opts Opts) (string, error)

func Connect

func Connect(dsn string) (*sql.DB, error)

func ConnectWithOpts

func ConnectWithOpts(opts Opts) (*sql.DB, error)

Types

type ChangeMasterOpt added in v0.37.0

type ChangeMasterOpt func(*ChangeMasterOpts)

func WithChangeMasterCredentials added in v0.37.0

func WithChangeMasterCredentials(user, password string) ChangeMasterOpt

func WithChangeMasterGtid added in v0.37.0

func WithChangeMasterGtid(gtid string) ChangeMasterOpt

func WithChangeMasterHost added in v0.37.0

func WithChangeMasterHost(host string) ChangeMasterOpt

func WithChangeMasterPort added in v0.37.0

func WithChangeMasterPort(port int32) ChangeMasterOpt

func WithChangeMasterRetries added in v0.37.0

func WithChangeMasterRetries(retries int) ChangeMasterOpt

func WithChangeMasterSSL added in v0.37.0

func WithChangeMasterSSL(certPath, keyPath, caPath string) ChangeMasterOpt

type ChangeMasterOpts

type ChangeMasterOpts struct {
	Host     string
	Port     int32
	User     string
	Password string
	Gtid     string
	Retries  int

	SSLEnabled  bool
	SSLCertPath string
	SSLKeyPath  string
	SSLCAPath   string
}

type Client

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

func NewClient

func NewClient(clientOpts ...Opt) (*Client, error)

func NewClientWithMariaDB

func NewClientWithMariaDB(ctx context.Context, mariadb *mariadbv1alpha1.MariaDB, refResolver *refresolver.RefResolver,
	clientOpts ...Opt) (*Client, error)

func NewInternalClientWithPodIndex

func NewInternalClientWithPodIndex(ctx context.Context, mariadb *mariadbv1alpha1.MariaDB, refResolver *refresolver.RefResolver,
	podIndex int, clientOpts ...Opt) (*Client, error)

func NewLocalClientWithPodEnv added in v0.0.26

func NewLocalClientWithPodEnv(ctx context.Context, env *environment.PodEnvironment, clientOpts ...Opt) (*Client, error)

func (*Client) AlterUser

func (c *Client) AlterUser(ctx context.Context, accountName string, createUserOpts ...CreateUserOpt) error

func (*Client) ChangeMaster

func (c *Client) ChangeMaster(ctx context.Context, changeMasterOpts ...ChangeMasterOpt) error

func (*Client) Close

func (c *Client) Close() error

func (*Client) CreateDatabase

func (c *Client) CreateDatabase(ctx context.Context, database string, opts DatabaseOpts) error

func (*Client) CreateUser

func (c *Client) CreateUser(ctx context.Context, accountName string, createUserOpts ...CreateUserOpt) error

func (*Client) DisableReadOnly

func (c *Client) DisableReadOnly(ctx context.Context) error

func (*Client) DropDatabase

func (c *Client) DropDatabase(ctx context.Context, database string) error

func (*Client) DropMaxScaleConfig added in v0.0.28

func (c *Client) DropMaxScaleConfig(ctx context.Context) error

func (*Client) DropUser

func (c *Client) DropUser(ctx context.Context, accountName string) error

func (*Client) EnableReadOnly

func (c *Client) EnableReadOnly(ctx context.Context) error

func (*Client) Exec

func (c *Client) Exec(ctx context.Context, sql string, args ...any) error

func (*Client) GaleraClusterSize

func (c *Client) GaleraClusterSize(ctx context.Context) (int, error)

func (*Client) GaleraClusterStatus

func (c *Client) GaleraClusterStatus(ctx context.Context) (string, error)

func (*Client) GaleraLocalState

func (c *Client) GaleraLocalState(ctx context.Context) (string, error)

func (*Client) Grant

func (c *Client) Grant(
	ctx context.Context,
	privileges []string,
	database string,
	table string,
	accountName string,
	opts ...GrantOption,
) error

func (*Client) IsSystemVariableEnabled added in v0.0.25

func (c *Client) IsSystemVariableEnabled(ctx context.Context, variable string) (bool, error)

func (*Client) LockTablesWithReadLock added in v0.0.24

func (c *Client) LockTablesWithReadLock(ctx context.Context) error

func (*Client) MaxScaleConfigSyncVersion added in v0.0.25

func (c *Client) MaxScaleConfigSyncVersion(ctx context.Context) (int, error)

func (*Client) ResetAllSlaves

func (c *Client) ResetAllSlaves(ctx context.Context) error

func (*Client) ResetMaster

func (c *Client) ResetMaster(ctx context.Context) error

func (*Client) ResetSlavePos

func (c *Client) ResetSlavePos(ctx context.Context) error

func (*Client) Revoke

func (c *Client) Revoke(
	ctx context.Context,
	privileges []string,
	database string,
	table string,
	accountName string,
	opts ...GrantOption,
) error

func (*Client) SetSystemVariable

func (c *Client) SetSystemVariable(ctx context.Context, variable string, value string) error

func (*Client) SetSystemVariables

func (c *Client) SetSystemVariables(ctx context.Context, keyVal map[string]string) error

func (*Client) StartSlave

func (c *Client) StartSlave(ctx context.Context) error

func (*Client) StatusVariable

func (c *Client) StatusVariable(ctx context.Context, variable string) (string, error)

func (*Client) StatusVariableInt

func (c *Client) StatusVariableInt(ctx context.Context, variable string) (int, error)

func (*Client) StopAllSlaves

func (c *Client) StopAllSlaves(ctx context.Context) error

func (*Client) SystemVariable

func (c *Client) SystemVariable(ctx context.Context, variable string) (string, error)

func (*Client) TruncateMaxScaleConfig added in v0.0.25

func (c *Client) TruncateMaxScaleConfig(ctx context.Context) error

func (*Client) UnlockTables added in v0.0.24

func (c *Client) UnlockTables(ctx context.Context) error

func (*Client) UserExists

func (c *Client) UserExists(ctx context.Context, username, host string) (bool, error)

func (*Client) WaitForReplicaGtid

func (c *Client) WaitForReplicaGtid(ctx context.Context, gtid string, timeout time.Duration) error

type CreateUserOpt added in v0.0.28

type CreateUserOpt func(*CreateUserOpts)

func WithIdentifiedBy added in v0.0.28

func WithIdentifiedBy(password string) CreateUserOpt

func WithIdentifiedByPassword added in v0.0.30

func WithIdentifiedByPassword(password string) CreateUserOpt

func WithIdentifiedVia added in v0.0.30

func WithIdentifiedVia(via string) CreateUserOpt

func WithIdentifiedViaUsing added in v0.0.30

func WithIdentifiedViaUsing(viaUsing string) CreateUserOpt

func WithMaxUserConnections added in v0.0.28

func WithMaxUserConnections(maxConns int32) CreateUserOpt

func WithTLSRequirements added in v0.37.0

func WithTLSRequirements(require *mariadbv1alpha1.TLSRequirements) CreateUserOpt

type CreateUserOpts

type CreateUserOpts struct {
	IdentifiedBy         string
	IdentifiedByPassword string
	IdentifiedVia        string
	IdentifiedViaUsing   string
	Require              *mariadbv1alpha1.TLSRequirements
	MaxUserConnections   int32
}

type DatabaseOpts

type DatabaseOpts struct {
	CharacterSet string
	Collate      string
}

type GrantOption

type GrantOption func(*grantOpts)

func WithGrantOption

func WithGrantOption() GrantOption

type Opt

type Opt func(*Opts)

func WitHost

func WitHost(host string) Opt

func WithDatabase

func WithDatabase(database string) Opt

func WithMariadbTLS added in v0.37.0

func WithMariadbTLS(name, namespace string, tlsCaCert []byte) Opt

func WithMaxscaleTLS added in v0.37.0

func WithMaxscaleTLS(name, namespace string, tlsCaCert []byte) Opt

func WithParams

func WithParams(params map[string]string) Opt

func WithPassword

func WithPassword(password string) Opt

func WithPort

func WithPort(port int32) Opt

func WithTLSClientCert added in v0.37.0

func WithTLSClientCert(clientName string, cert, privateKey []byte) Opt

func WithTimeout added in v0.0.24

func WithTimeout(d time.Duration) Opt

func WithUsername

func WithUsername(username string) Opt

type Opts

type Opts struct {
	Username string
	Password string
	Host     string
	Port     int32
	Database string

	MariadbName  string
	MaxscaleName string
	Namespace    string
	ClientName   string

	TLSCACert           []byte
	TLSClientCert       []byte
	TLSClientPrivateKey []byte

	Params  map[string]string
	Timeout *time.Duration
}

Jump to

Keyboard shortcuts

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

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy