db

package
v0.0.0-...-fb7f86c Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2023 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InitTestDB = sqlstore.InitTestDB
View Source
var InitTestDBwithCfg = sqlstore.InitTestDBWithCfg
View Source
var ProvideService = sqlstore.ProvideService

Functions

func IsTestDBMSSQL

func IsTestDBMSSQL() bool

func IsTestDbMySQL

func IsTestDbMySQL() bool

func IsTestDbPostgres

func IsTestDbPostgres() bool

func IsTestDbSQLite

func IsTestDbSQLite() bool

Types

type DB

type DB interface {
	// WithTransactionalDbSession creates a new SQL transaction to ensure consistency
	// for the database operations done within the [sqlstore.DBTransactionFunc].
	// It's better to combine InTransaction and WithDbSession instead, as the context
	// variable is not updated when using this method.
	WithTransactionalDbSession(ctx context.Context, callback sqlstore.DBTransactionFunc) error
	// WithDbSession runs database operations either in an existing transaction available
	// through [context.Context] or if that's not present, as non-transactional database
	// operations.
	WithDbSession(ctx context.Context, callback sqlstore.DBTransactionFunc) error
	// WithNewDbSession behaves like [DB.WithDbSession] without picking up a transaction
	// from the context.
	WithNewDbSession(ctx context.Context, callback sqlstore.DBTransactionFunc) error
	// GetDialect returns an object that contains information about the peculiarities of
	// the particular database type available to the runtime.
	GetDialect() migrator.Dialect
	// GetDBType returns the name of the database type available to the runtime.
	GetDBType() core.DbType
	// GetSqlxSession is an experimental extension to use sqlx instead of xorm to
	// communicate with the database.
	GetSqlxSession() *session.SessionDB
	// InTransaction creates a new SQL transaction that is placed on the context.
	// Use together with [DB.WithDbSession] to run database operations.
	InTransaction(ctx context.Context, fn func(ctx context.Context) error) error
	// Quote wraps an identifier so that it cannot be mistaken for an SQL keyword.
	Quote(value string) string
	// RecursiveQueriesAreSupported runs a dummy recursive query and it returns true
	// if the query runs successfully or false if it fails with mysqlerr.ER_PARSE_ERROR error or any other error
	RecursiveQueriesAreSupported() (bool, error)
}

type InitTestDBOpt

type InitTestDBOpt = sqlstore.InitTestDBOpt

type SQLBuilder

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

func NewSqlBuilder

func NewSqlBuilder(cfg *setting.Cfg, features featuremgmt.FeatureToggles, dialect migrator.Dialect, recursiveQueriesAreSupported bool) SQLBuilder

func (*SQLBuilder) AddParams

func (sb *SQLBuilder) AddParams(params ...interface{})

func (*SQLBuilder) GetParams

func (sb *SQLBuilder) GetParams() []interface{}

func (*SQLBuilder) GetSQLString

func (sb *SQLBuilder) GetSQLString() string

func (*SQLBuilder) Write

func (sb *SQLBuilder) Write(sql string, params ...interface{})

func (*SQLBuilder) WriteDashboardPermissionFilter

func (sb *SQLBuilder) WriteDashboardPermissionFilter(user *user.SignedInUser, permission dashboards.PermissionType, queryType string)

type Session

type Session = sqlstore.DBSession

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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