generic

package
v1.14.2 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2025 License: Apache-2.0 Imports: 17 Imported by: 12

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionPoolConfig

type ConnectionPoolConfig struct {
	MaxIdle     int           // zero means defaultMaxIdleConns; negative means 0
	MaxOpen     int           // <= 0 means unlimited
	MaxLifetime time.Duration // maximum amount of time a connection may be reused
}

type ErrCode added in v0.9.2

type ErrCode func(error) string

type ErrRetry

type ErrRetry func(error) bool

type Generic

type Generic struct {
	sync.Mutex

	LockWrites              bool
	LastInsertID            bool
	DB                      *sql.DB
	GetCurrentSQL           string
	GetCurrentValSQL        string
	ListRevisionStartSQL    string
	ListRevisionStartValSQL string
	GetRevisionAfterSQL     string
	GetRevisionAfterValSQL  string
	CountCurrentSQL         string
	CountRevisionSQL        string
	AfterOldValSQL          string
	DeleteSQL               string
	CompactSQL              string
	UpdateCompactSQL        string
	PostCompactSQL          string
	InsertSQL               string
	FillSQL                 string
	InsertLastInsertIDSQL   string
	GetSizeSQL              string
	Retry                   ErrRetry
	InsertRetry             ErrRetry
	TranslateErr            TranslateErr
	ErrCode                 ErrCode
	FillRetryDuration       time.Duration
}

func Open

func Open(ctx context.Context, wg *sync.WaitGroup, driverName, dataSourceName string, connPoolConfig ConnectionPoolConfig, paramCharacter string, numbered bool, metricsRegisterer prometheus.Registerer) (*Generic, error)

func (*Generic) After

func (d *Generic) After(ctx context.Context, prefix string, rev, limit int64) (*sql.Rows, error)

func (*Generic) BeginTx

func (d *Generic) BeginTx(ctx context.Context, opts *sql.TxOptions) (server.Transaction, error)

func (*Generic) Compact

func (d *Generic) Compact(ctx context.Context, revision int64) (int64, error)

func (*Generic) Count

func (d *Generic) Count(ctx context.Context, prefix, startKey string, revision int64) (int64, int64, error)

func (*Generic) CountCurrent added in v0.11.4

func (d *Generic) CountCurrent(ctx context.Context, prefix, startKey string) (int64, int64, error)

func (*Generic) CurrentRevision

func (d *Generic) CurrentRevision(ctx context.Context) (int64, error)

func (*Generic) DeleteRevision

func (d *Generic) DeleteRevision(ctx context.Context, revision int64) error

func (*Generic) Fill

func (d *Generic) Fill(ctx context.Context, revision int64) error

func (*Generic) FillRetryDelay added in v0.11.0

func (d *Generic) FillRetryDelay(ctx context.Context)

func (*Generic) GetCompactRevision

func (d *Generic) GetCompactRevision(ctx context.Context) (int64, error)

func (*Generic) GetSize added in v0.8.0

func (d *Generic) GetSize(ctx context.Context) (int64, error)

func (*Generic) Insert

func (d *Generic) Insert(ctx context.Context, key string, create, delete bool, createRevision, previousRevision int64, ttl int64, value, prevValue []byte) (id int64, err error)

func (*Generic) IsFill

func (d *Generic) IsFill(key string) bool

func (*Generic) List

func (d *Generic) List(ctx context.Context, prefix, startKey string, limit, revision int64, includeDeleted, keysOnly bool) (*sql.Rows, error)

func (*Generic) ListCurrent

func (d *Generic) ListCurrent(ctx context.Context, prefix, startKey string, limit int64, includeDeleted, keysOnly bool) (*sql.Rows, error)

func (*Generic) Migrate

func (d *Generic) Migrate(ctx context.Context)

func (*Generic) PostCompact added in v0.6.5

func (d *Generic) PostCompact(ctx context.Context) error

func (*Generic) SetCompactRevision

func (d *Generic) SetCompactRevision(ctx context.Context, revision int64) error

type TranslateErr

type TranslateErr func(error) error

type Tx

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

func (*Tx) Commit

func (t *Tx) Commit() error

func (*Tx) Compact

func (t *Tx) Compact(ctx context.Context, revision int64) (int64, error)

func (*Tx) CurrentRevision

func (t *Tx) CurrentRevision(ctx context.Context) (int64, error)

func (*Tx) DeleteRevision

func (t *Tx) DeleteRevision(ctx context.Context, revision int64) error

func (*Tx) GetCompactRevision

func (t *Tx) GetCompactRevision(ctx context.Context) (int64, error)

func (*Tx) MustCommit

func (t *Tx) MustCommit()

func (*Tx) MustRollback

func (t *Tx) MustRollback()

func (*Tx) Rollback

func (t *Tx) Rollback() error

func (*Tx) SetCompactRevision

func (t *Tx) SetCompactRevision(ctx context.Context, revision int64) error

Jump to

Keyboard shortcuts

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