mrstorage

package
v0.16.4 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2024 License: Apache-2.0 Imports: 8 Imported by: 21

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DBConn added in v0.6.0

type DBConn interface {
	Query(ctx context.Context, sql string, args ...any) (DBQueryRows, error)
	QueryRow(ctx context.Context, sql string, args ...any) DBQueryRow
	Exec(ctx context.Context, sql string, args ...any) error
}

DBConn - соединение с БД с возможностью выполнения запросов.

type DBConnManager added in v0.11.0

type DBConnManager interface {
	Conn(ctx context.Context) DBConn
	DBTxManager
}

DBConnManager - менеджер соединений с БД.

type DBQueryRow added in v0.6.0

type DBQueryRow interface {
	Scan(dest ...any) error
}

DBQueryRow - результат запроса состоящий из одной записи.

type DBQueryRows added in v0.6.0

type DBQueryRows interface {
	Next() bool
	Scan(dest ...any) error
	Err() error
	Close()
}

DBQueryRows - результат запроса в виде списка записей.

type DBStatProvider added in v0.11.3

type DBStatProvider interface {
	AcquireCount() int64
	AcquireDuration() time.Duration
	AcquiredConns() int32
	CanceledAcquireCount() int64
	ConstructingConns() int32
	EmptyAcquireCount() int64
	IdleConns() int32
	MaxConns() int32
	TotalConns() int32
	NewConnsCount() int64
	MaxLifetimeDestroyCount() int64
	MaxIdleDestroyCount() int64
}

DBStatProvider - провайдер статистики работы DB.

type DBTxManager added in v0.11.0

type DBTxManager interface {
	Do(ctx context.Context, job func(ctx context.Context) error) error
}

DBTxManager - менеджер транзакций, позволяет исполнять несколько независимых запросов в рамках одной транзакции.

type FileProvider added in v0.3.4

type FileProvider interface {
	FileProviderConn
	FileProviderAPI
}

FileProvider - файловый провайдер.

type FileProviderAPI added in v0.6.0

type FileProviderAPI interface {
	Info(ctx context.Context, filePath string) (mrtype.FileInfo, error)
	Download(ctx context.Context, filePath string) (mrtype.File, error)
	DownloadFile(ctx context.Context, filePath string) (io.ReadCloser, error)
	Upload(ctx context.Context, file mrtype.File) error
	Remove(ctx context.Context, filePath string) error
}

FileProviderAPI - файловый провайдер с возможностью загрузки, скачивания, удаления файла.

type FileProviderConn added in v0.13.0

type FileProviderConn interface {
	Ping(ctx context.Context) error
	Close() error
}

FileProviderConn - управление открытым соединением файлового провайдера.

type FileProviderPool added in v0.6.5

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

FileProviderPool - пул файловых провайдеров, позволяет хранить файловые провайдеры предназначенные для различных целей.

func NewFileProviderPool added in v0.6.5

func NewFileProviderPool() *FileProviderPool

NewFileProviderPool - создаёт объект FileProviderPool.

func (*FileProviderPool) Close added in v0.13.0

func (p *FileProviderPool) Close() error

Close - закрывает текущие соединения всех зарегистрированных провайдеров.

func (*FileProviderPool) Ping added in v0.13.0

func (p *FileProviderPool) Ping(ctx context.Context) error

Ping - проверяет работоспособность всех зарегистрированных провайдеров.

func (*FileProviderPool) ProviderAPI added in v0.13.0

func (p *FileProviderPool) ProviderAPI(name string) (FileProviderAPI, error)

ProviderAPI - возвращает API по имени провайдера или ошибку, если он не был найден.

func (*FileProviderPool) Register added in v0.6.5

func (p *FileProviderPool) Register(name string, provider FileProvider) error

Register - регистрирует провайдера по его имени.

type SQLBuilder added in v0.15.0

type SQLBuilder interface {
	Set() SQLSetBuilder
	Condition() SQLConditionBuilder
	OrderBy() SQLOrderByBuilder
	Limit() SQLLimitBuilder
}

SQLBuilder - строитель условий используемых в конструкции SET.

type SQLConditionBuilder added in v0.15.0

type SQLConditionBuilder interface {
	Build(part SQLPartFunc) SQLPart
	BuildAnd(parts ...SQLPartFunc) SQLPart
	BuildFunc(fn func(c SQLConditionHelper) SQLPartFunc) SQLPart
	HelpFunc(fn func(c SQLConditionHelper) SQLPartFunc) SQLPartFunc
}

SQLConditionBuilder - строитель условий используемых в WHERE, JOIN конструкциях.

type SQLConditionHelper added in v0.15.0

type SQLConditionHelper interface {
	JoinAnd(parts ...SQLPartFunc) SQLPartFunc
	JoinOr(parts ...SQLPartFunc) SQLPartFunc

	Expr(expr string) SQLPartFunc
	ExprWithValue(expr string, value any) SQLPartFunc

	Equal(field string, value any) SQLPartFunc
	NotEqual(field string, value any) SQLPartFunc
	Less(field string, value any) SQLPartFunc
	LessOrEqual(field string, value any) SQLPartFunc
	Greater(field string, value any) SQLPartFunc
	GreaterOrEqual(field string, value any) SQLPartFunc

	FilterEqual(field string, value any) SQLPartFunc
	FilterEqualString(field, value string) SQLPartFunc
	FilterEqualInt64(field string, value, empty int64) SQLPartFunc
	FilterEqualBool(field string, value *bool) SQLPartFunc
	FilterLike(field, value string) SQLPartFunc
	FilterLikeFields(fields []string, value string) SQLPartFunc
	FilterRangeInt64(field string, value mrtype.RangeInt64, empty int64) SQLPartFunc
	FilterRangeFloat64(field string, value mrtype.RangeFloat64, empty, qualityThreshold float64) SQLPartFunc
	// FilterAnyOf - used ANY(), 'values' support only slices else the func returns nil
	FilterAnyOf(field string, values any) SQLPartFunc
	// FilterInOf - used IN(), 'values' support only slices else the func returns nil
	FilterInOf(field string, values any) SQLPartFunc
}

SQLConditionHelper - помощник для построения выражений используемых в WHERE, JOIN конструкциях.

type SQLLimitBuilder added in v0.15.0

type SQLLimitBuilder interface {
	Build(index, size uint64) SQLPart
}

SQLLimitBuilder - строитель условий используемых в конструкции LIMIT.

type SQLOrderByBuilder added in v0.15.0

type SQLOrderByBuilder interface {
	Build(part SQLPartFunc) SQLPart
	BuildComma(parts ...SQLPartFunc) SQLPart
	BuildFunc(fn func(o SQLOrderByHelper) SQLPartFunc) SQLPart
	HelpFunc(fn func(o SQLOrderByHelper) SQLPartFunc) SQLPartFunc
}

SQLOrderByBuilder - строитель условий используемых в конструкции ORDER BY.

type SQLOrderByHelper added in v0.15.0

type SQLOrderByHelper interface {
	JoinComma(fields ...SQLPartFunc) SQLPartFunc
	Field(name string, direction mrenum.SortDirection) SQLPartFunc
}

SQLOrderByHelper - помощник для построения выражений используемых в конструкции ORDER BY.

type SQLPart added in v0.15.0

type SQLPart interface {
	WithPrefix(sql string) SQLPart
	WithStartArg(number int) SQLPart
	Empty() bool
	String() string
	ToSQL() (sql string, args []any)
}

SQLPart - параметризованная часть SQL запроса.

type SQLPartFunc added in v0.15.0

type SQLPartFunc func(argumentNumber int) (sql string, args []any)

SQLPartFunc - динамическая часть SQL запроса, вычисляемая тогда, когда понятен номер первого параметра используемого в этой функции.

type SQLSetBuilder added in v0.15.0

type SQLSetBuilder interface {
	Build(part SQLPartFunc) SQLPart
	BuildComma(parts ...SQLPartFunc) SQLPart
	BuildEntity(entity any, parts ...SQLPartFunc) (SQLPart, error)
	BuildFunc(fn func(s SQLSetHelper) SQLPartFunc) SQLPart
	HelpFunc(fn func(s SQLSetHelper) SQLPartFunc) SQLPartFunc
}

SQLSetBuilder - строитель условий используемых в конструкции SET.

type SQLSetHelper added in v0.15.0

type SQLSetHelper interface {
	JoinComma(fields ...SQLPartFunc) SQLPartFunc
	Field(name string, value any) SQLPartFunc
	Fields(names []string, args []any) SQLPartFunc
}

SQLSetHelper - помощник для построения выражений используемых в конструкции SET.

type SequenceGenerator added in v0.16.0

type SequenceGenerator interface {
	Next(ctx context.Context) (nextID uint64, err error)
	MultiNext(ctx context.Context, count uint32) (nextIDs []uint64, err error)
}

SequenceGenerator - генерирует последовательность из натуральных чисел.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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