mrstorage

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 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() (err 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 MetaGetter added in v0.11.0

type MetaGetter interface {
	TableName() string
	PrimaryName() string
	Condition() SQLBuilderPart
}

MetaGetter - интерфейс для предоставления информации о таблице БД.

type SQLBuilderCondition added in v0.11.0

type SQLBuilderCondition interface {
	Where(f func(w SQLBuilderWhere) SQLBuilderPartFunc) SQLBuilderPart
}

SQLBuilderCondition - помощник для построения условий объединяющий SQLBuilderWhere выражения.

type SQLBuilderLimit added in v0.11.0

type SQLBuilderLimit interface {
	OffsetLimit(index, size uint64) SQLBuilderPartFunc
}

SQLBuilderLimit - построитель выражений используемых в LIMIT.

type SQLBuilderOrderBy added in v0.11.0

type SQLBuilderOrderBy interface {
	Join(fields ...SQLBuilderPartFunc) SQLBuilderPartFunc
	Field(name string, direction mrenum.SortDirection) SQLBuilderPartFunc
}

SQLBuilderOrderBy - построитель выражений используемых в ORDER BY.

type SQLBuilderPart added in v0.11.0

type SQLBuilderPart interface {
	WithPart(sep string, next SQLBuilderPart) SQLBuilderPart
	WithPrefix(value string) SQLBuilderPart
	WithParam(number int) SQLBuilderPart
	Empty() bool
	ToSQL() (string, []any)
	String() string
}

SQLBuilderPart - построитель запросов.

type SQLBuilderPartFunc added in v0.11.0

type SQLBuilderPartFunc func(paramNumber int) (string, []any)

SQLBuilderPartFunc - часть запроса зависящая от параметров.

func SQLBuilderPartFuncRemoveNil added in v0.11.0

func SQLBuilderPartFuncRemoveNil(parts []SQLBuilderPartFunc) []SQLBuilderPartFunc

SQLBuilderPartFuncRemoveNil - удаляет все nil элементы из указанного массива.

type SQLBuilderSelect added in v0.11.0

type SQLBuilderSelect interface {
	SQLBuilderCondition
	OrderBy(f func(o SQLBuilderOrderBy) SQLBuilderPartFunc) SQLBuilderPart
	Limit(f func(p SQLBuilderLimit) SQLBuilderPartFunc) SQLBuilderPart
}

SQLBuilderSelect - помощник для построения SELECT запросов.

type SQLBuilderSet added in v0.11.0

type SQLBuilderSet interface {
	Join(fields ...SQLBuilderPartFunc) SQLBuilderPartFunc
	Field(name string, value any) SQLBuilderPartFunc
	Fields(names []string, args []any) SQLBuilderPartFunc
}

SQLBuilderSet - построитель выражений используемых в SET (список поле=значение через запятую).

type SQLBuilderUpdate added in v0.11.0

type SQLBuilderUpdate interface {
	Set(f func(s SQLBuilderSet) SQLBuilderPartFunc) SQLBuilderPart
	SetFromEntity(entity any) (SQLBuilderPart, error)
	SetFromEntityWith(entity any, extFields func(s SQLBuilderSet) SQLBuilderPartFunc) (SQLBuilderPart, error)
	SQLBuilderCondition
}

SQLBuilderUpdate - помощник для построения UPDATE запросов.

type SQLBuilderWhere added in v0.11.0

type SQLBuilderWhere interface {
	JoinAnd(conds ...SQLBuilderPartFunc) SQLBuilderPartFunc
	JoinOr(conds ...SQLBuilderPartFunc) SQLBuilderPartFunc

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

	Equal(name string, value any) SQLBuilderPartFunc
	NotEqual(name string, value any) SQLBuilderPartFunc
	Less(name string, value any) SQLBuilderPartFunc
	LessOrEqual(name string, value any) SQLBuilderPartFunc
	Greater(name string, value any) SQLBuilderPartFunc
	GreaterOrEqual(name string, value any) SQLBuilderPartFunc

	FilterEqualString(name, value string) SQLBuilderPartFunc
	FilterEqualInt64(name string, value, empty int64) SQLBuilderPartFunc
	FilterEqualUUID(name string, value uuid.UUID) SQLBuilderPartFunc
	FilterEqualBool(name string, value *bool) SQLBuilderPartFunc
	FilterLike(name, value string) SQLBuilderPartFunc
	FilterLikeFields(names []string, value string) SQLBuilderPartFunc
	FilterRangeInt64(name string, value mrtype.RangeInt64, empty int64) SQLBuilderPartFunc
	FilterRangeFloat64(name string, value mrtype.RangeFloat64, empty, qualityThreshold float64) SQLBuilderPartFunc
	// FilterAnyOf - 'values' support only slices else the func returns nil
	FilterAnyOf(name string, values any) SQLBuilderPartFunc
}

SQLBuilderWhere - построитель выражений используемых в WHERE.

type SQLSelectParams added in v0.11.0

type SQLSelectParams struct {
	Where   SQLBuilderPart
	OrderBy SQLBuilderPart
	Limit   SQLBuilderPart
}

SQLSelectParams - параметры используемы при построении SELECT запросов.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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