database

package
v0.9.1-alpha Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package database provides functionalities for connecting, transferring and retrieving data to a database

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database interface {
	SaveBenchmark(ctx context.Context, res *models.Benchmark) error
	FetchBenchmarks(ctx context.Context, options ...QueryOption) ([]*models.Benchmark, error)
	FetchBenchmarksByIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*models.Benchmark, error)
	FetchBenchmarksByGroupIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*models.Benchmark, error)
	RemoveBenchmarksByIDs(ctx context.Context, ids []string) error
	RemoveBenchmarksByGroupIDs(ctx context.Context, ids []string) error
	Close() error
}

type EntDatabase

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

func NewEntDatabase

func NewEntDatabase(ctx context.Context, dsn string) (*EntDatabase, error)

func (*EntDatabase) Close

func (db *EntDatabase) Close() error

func (*EntDatabase) FetchBenchmarks

func (db *EntDatabase) FetchBenchmarks(ctx context.Context, options ...QueryOption) ([]*models.Benchmark, error)

func (*EntDatabase) FetchBenchmarksByGroupIDs

func (db *EntDatabase) FetchBenchmarksByGroupIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*ent.Benchmark, error)

func (*EntDatabase) FetchBenchmarksByIDs

func (db *EntDatabase) FetchBenchmarksByIDs(ctx context.Context, ids []string, options ...QueryOption) ([]*ent.Benchmark, error)

func (*EntDatabase) RemoveBenchmarksByGroupIDs

func (db *EntDatabase) RemoveBenchmarksByGroupIDs(ctx context.Context, ids []string) error

func (*EntDatabase) RemoveBenchmarksByIDs

func (db *EntDatabase) RemoveBenchmarksByIDs(ctx context.Context, ids []string) error

func (*EntDatabase) SaveBenchmark

func (db *EntDatabase) SaveBenchmark(ctx context.Context, benchmark *models.Benchmark) error

type FilterFunc

type FilterFunc func(query *ent.BenchmarkQuery) *ent.BenchmarkQuery

type QueryOption

type QueryOption func(*QueryOptions)

func WithFilter

func WithFilter(filterFunc FilterFunc) QueryOption

func WithLimit

func WithLimit(limit int) QueryOption

func WithOffset

func WithOffset(offset int) QueryOption

func WithOrderBy

func WithOrderBy(orderFunc func(query *ent.BenchmarkQuery) *ent.BenchmarkQuery) QueryOption

type QueryOptions

type QueryOptions struct {
	// You can add more fields as necessary to handle different options
	OrderBy func(query *ent.BenchmarkQuery) *ent.BenchmarkQuery
	Filters []FilterFunc
	Limit   int
	Offset  int
}

Jump to

Keyboard shortcuts

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