database

package
v0.1.24 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2021 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const SQLiteEnabled = true

Variables

This section is empty.

Functions

func ArrayToString

func ArrayToString(a []string) string

func SQLDelete

func SQLDelete(table string, where string) string

func SQLInsert

func SQLInsert(table string, columns []string, rows int, placeholder string) string

func SQLInsertReturning

func SQLInsertReturning(table string, columns []string, rows int, returning []string, placeholder string) string

func SQLSelect

func SQLSelect(columns string, tables string, where string, orderBy string, limit int, offset int) string

func SQLSelectGrouped

func SQLSelectGrouped(columns string, tables string, where string, groupBy string, orderBy string, limit int, offset int) string

func SQLSelectSimple

func SQLSelectSimple(columns string, tables string, where ...string) string

func SQLUpdate

func SQLUpdate(table string, columns []string, where string, placeholder string) string

func SQLUpdateReturning

func SQLUpdateReturning(table string, columns []string, where string, returned []string, placeholder string) string

func StringToArray

func StringToArray(s string) []string

Types

type DBType

type DBType struct {
	Key               string `json:"key"`
	Title             string `json:"title"`
	Quote             string `json:"-"`
	Placeholder       string `json:"-"`
	SupportsReturning bool   `json:"-"`
}

type MySQLParams

type MySQLParams struct {
	Host     string `json:"host"`
	Port     int    `json:"port,omitempty"`
	Username string `json:"username"`
	Password string `json:"password,omitempty"`
	Database string `json:"database,omitempty"`
	Schema   string `json:"schema,omitempty"`
	MaxConns int    `json:"maxConns,omitempty"`
	Debug    bool   `json:"debug,omitempty"`
}

func MySQLParamsFromEnv

func MySQLParamsFromEnv(key string, defaultUser string, prefix string) *MySQLParams

type PostgresParams

type PostgresParams struct {
	Host     string `json:"host"`
	Port     int    `json:"port,omitempty"`
	Username string `json:"username"`
	Password string `json:"password,omitempty"`
	Database string `json:"database,omitempty"`
	Schema   string `json:"schema,omitempty"`
	MaxConns int    `json:"maxConns,omitempty"`
	Debug    bool   `json:"debug,omitempty"`
}

func PostgresParamsFromEnv

func PostgresParamsFromEnv(key string, defaultUser string, prefix string) *PostgresParams

type SQLiteParams

type SQLiteParams struct {
	File   string `json:"file"`
	Schema string `json:"schema,omitempty"`
	Debug  bool   `json:"debug,omitempty"`
}

func SQLiteParamsFromEnv

func SQLiteParamsFromEnv(key string, defaultUser string, prefix string) *SQLiteParams

type Service

type Service struct {
	Key          string  `json:"key"`
	DatabaseName string  `json:"database,omitempty"`
	SchemaName   string  `json:"schema,omitempty"`
	Username     string  `json:"username,omitempty"`
	Type         *DBType `json:"type"`
	// contains filtered or unexported fields
}

func NewService

func NewService(typ *DBType, key string, dbName string, schName string, username string, db *sqlx.DB, logger *zap.SugaredLogger) *Service

func OpenDefaultMySQL

func OpenDefaultMySQL(logger *zap.SugaredLogger) (*Service, error)

func OpenDefaultPostgres

func OpenDefaultPostgres(logger *zap.SugaredLogger) (*Service, error)

func OpenMySQLDatabase

func OpenMySQLDatabase(ctx context.Context, key string, params *MySQLParams, logger *zap.SugaredLogger) (*Service, error)

func OpenPostgresDatabase

func OpenPostgresDatabase(ctx context.Context, key string, params *PostgresParams, logger *zap.SugaredLogger) (*Service, error)

func OpenSQLiteDatabase

func OpenSQLiteDatabase(ctx context.Context, key string, params *SQLiteParams, logger *zap.SugaredLogger) (*Service, error)

func (*Service) Close

func (s *Service) Close() error

func (*Service) Delete

func (s *Service) Delete(ctx context.Context, q string, tx *sqlx.Tx, expected int, values ...interface{}) (int, error)

func (*Service) DeleteOne

func (s *Service) DeleteOne(ctx context.Context, q string, tx *sqlx.Tx, values ...interface{}) error

func (*Service) Exec

func (s *Service) Exec(ctx context.Context, q string, tx *sqlx.Tx, expected int, values ...interface{}) (int, error)

func (*Service) Get

func (s *Service) Get(ctx context.Context, dto interface{}, q string, tx *sqlx.Tx, values ...interface{}) error

func (*Service) Insert

func (s *Service) Insert(ctx context.Context, q string, tx *sqlx.Tx, values ...interface{}) error

func (*Service) Query

func (s *Service) Query(ctx context.Context, q string, tx *sqlx.Tx, values ...interface{}) (*sqlx.Rows, error)

func (*Service) QueryRows

func (s *Service) QueryRows(ctx context.Context, q string, tx *sqlx.Tx, values ...interface{}) ([]util.ValueMap, error)

func (*Service) QuerySingleRow

func (s *Service) QuerySingleRow(ctx context.Context, q string, tx *sqlx.Tx, values ...interface{}) (util.ValueMap, error)

func (*Service) Select

func (s *Service) Select(ctx context.Context, dest interface{}, q string, tx *sqlx.Tx, values ...interface{}) error

func (*Service) SingleInt

func (s *Service) SingleInt(ctx context.Context, q string, tx *sqlx.Tx, values ...interface{}) (int64, error)

func (*Service) StartTransaction

func (s *Service) StartTransaction() (*sqlx.Tx, error)

func (*Service) Stats

func (s *Service) Stats() sql.DBStats

func (*Service) Update

func (s *Service) Update(ctx context.Context, q string, tx *sqlx.Tx, expected int, values ...interface{}) (int, error)

func (*Service) UpdateOne

func (s *Service) UpdateOne(ctx context.Context, q string, tx *sqlx.Tx, values ...interface{}) error

Jump to

Keyboard shortcuts

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