Documentation ¶
Overview ¶
Работа с базами данных
Работа с базами данных
Index ¶
- Constants
- Variables
- func EnableMock()
- func Exec(dbName string, queryName string, vars []any) (result sql.Result, err error)
- func ExecEx(dbName string, dest any, queryName string, tp PatternType, ...) (result sql.Result, err error)
- func ExecExWithMock(mock MockCallback, dbName string, dest any, queryName string, tp PatternType, ...) (result sql.Result, err error)
- func GetConn(dbName string) (conn *sqlx.DB, err error)
- func GetQuery(dbName string, queryName string) (q string, err error)
- func IsMockEnabled() bool
- func Query(dbName string, dest any, queryName string, fields []string, vars []any) (err error)
- func QueryWithMock(mock MockCallback, dbName string, dest any, queryName string, fields []string, ...) (err error)
- func SetMockCallback(f MockCallback)
- func SetStatPeriod(newPeriod time.Duration) (oldPeriod time.Duration)
- type Bulk
- type Config
- type DB
- func (x *DB) Check(cfg any) (err error)
- func (db *DB) Connect() (doRetry bool, err error)
- func (db *DB) Exec(queryName string, vars []any) (result sql.Result, err error)
- func (db *DB) ExecEx(dest any, queryName string, tp PatternType, firstDataFieldIdx int, ...) (result sql.Result, err error)
- func (db *DB) ExecExWithMock(mock MockCallback, dest any, queryName string, tp PatternType, ...) (result sql.Result, err error)
- func (db *DB) GetQuery(queryName string) (q string, err error)
- func (db *DB) Query(dest any, queryName string, fields []string, vars []any) (err error)
- func (db *DB) QueryWithMock(mock MockCallback, dest any, queryName string, fields []string, vars []any) (err error)
- type Duration
- type FieldInfo
- type FieldsList
- func (fields *FieldsList) AllDbNames() []string
- func (fields *FieldsList) AllDbSelect() []string
- func (fields *FieldsList) ByDbName() map[string]*FieldInfo
- func (fields *FieldsList) ByJsonName() map[string]*FieldInfo
- func (fields *FieldsList) ByName() map[string]*FieldInfo
- func (fields *FieldsList) JbFieldsStr() string
- func (fields *FieldsList) Prepare(data []misc.InterfaceMap) (jbPairs JbPairs, names []string, rows Bulk)
- type JbPair
- type JbPairs
- type MockCallback
- type NullBool
- type NullFloat64
- type NullInt64
- type NullString
- type NullTime
- type NullUint64
- type PatternType
- type Result
- type Stat
- type SubstArg
Constants ¶
View Source
const ( SubstJbFields = "JB" SubstExtra = "EXTRA" SubstExtraFrom = "EXTRA_FROM" PatternNames = "@NAMES@" PatternNamesPreComma = "@NAMES_PRE_COMMA@" PatternVals = "@VALS@" PatternValsPreComma = "@VALS_PRE_COMMA@" PatternPairs = "@PAIRS@" PatternPairsPreComma = "@PAIRS_PRE_COMMA@" PatternExtra = "@" + SubstExtra + "@" PatternExtraFrom = "@" + SubstExtraFrom + "@" )
Variables ¶
View Source
var (
Log = log.NewFacility("db") // Log facility
)
Functions ¶
func EnableMock ¶ added in v0.1.16
func EnableMock()
func ExecExWithMock ¶ added in v0.1.16
func IsMockEnabled ¶ added in v0.1.16
func IsMockEnabled() bool
func QueryWithMock ¶ added in v0.1.16
func SetMockCallback ¶ added in v0.1.16
func SetMockCallback(f MockCallback)
Types ¶
type DB ¶
type DB struct { Name string `toml:"-"` Active bool `toml:"active"` Driver string `toml:"driver"` DSN string `toml:"dsn"` UseQueriesFrom string `toml:"use-queries-from"` // Use queries from another Queries misc.StringMap `toml:"queries"` // SQL запросы для этой базы, ключ - имя запроса // contains filtered or unexported fields }
Описание базы
func (*DB) ExecExWithMock ¶ added in v0.1.16
func (*DB) QueryWithMock ¶ added in v0.1.16
type FieldInfo ¶ added in v0.1.19
type FieldInfo struct { Parent *FieldInfo Type reflect.Type // reflect.TypeOf("") Container string // "config" FieldName string // "Name" JsonName string // "name" DbName string // "x.name" DbSelect string // "COALESCE(x.name, ”) AS \"x.name\"" JbName string // "name" JbType string // "varchar" DefVal any // 12345 Tags misc.StringMap }
type FieldsList ¶
type FieldsList struct {
// contains filtered or unexported fields
}
func MakeFieldsList ¶ added in v0.1.3
func MakeFieldsList(o any) (fields *FieldsList, err error)
func (*FieldsList) AllDbNames ¶ added in v0.1.19
func (fields *FieldsList) AllDbNames() []string
func (*FieldsList) AllDbSelect ¶ added in v0.1.19
func (fields *FieldsList) AllDbSelect() []string
func (*FieldsList) ByDbName ¶ added in v0.1.28
func (fields *FieldsList) ByDbName() map[string]*FieldInfo
func (*FieldsList) ByJsonName ¶ added in v0.1.19
func (fields *FieldsList) ByJsonName() map[string]*FieldInfo
func (*FieldsList) ByName ¶ added in v0.1.28
func (fields *FieldsList) ByName() map[string]*FieldInfo
func (*FieldsList) JbFieldsStr ¶ added in v0.1.19
func (fields *FieldsList) JbFieldsStr() string
func (*FieldsList) Prepare ¶ added in v0.1.13
func (fields *FieldsList) Prepare(data []misc.InterfaceMap) (jbPairs JbPairs, names []string, rows Bulk)
jbPairs - шаблоны пар jb (имя, поставляемая переменная) с индексом переменной (среди jb полей) и родительским объектом names - имена выбираемых обычных полей rows - строки, с данными, сначала в соответствии с names, потом jb
type JbPairs ¶ added in v0.1.13
type JbPairs []*JbPair
func (JbPairs) String ¶ added in v0.1.19
func (jbp JbPairs) String(tp PatternType) (s string)
type MockCallback ¶ added in v0.1.16
type NullFloat64 ¶
type NullFloat64 sql.NullFloat64
func (NullFloat64) MarshalJSON ¶
func (v NullFloat64) MarshalJSON() ([]byte, error)
func (*NullFloat64) Scan ¶
func (v *NullFloat64) Scan(value any) error
func (*NullFloat64) UnmarshalJSON ¶
func (v *NullFloat64) UnmarshalJSON(s []byte) error
type NullString ¶
type NullString sql.NullString
func (NullString) MarshalJSON ¶
func (v NullString) MarshalJSON() ([]byte, error)
func (*NullString) Scan ¶
func (v *NullString) Scan(value any) error
func (*NullString) UnmarshalJSON ¶
func (v *NullString) UnmarshalJSON(s []byte) error
type NullUint64 ¶
func (NullUint64) MarshalJSON ¶
func (v NullUint64) MarshalJSON() ([]byte, error)
func (*NullUint64) Scan ¶
func (v *NullUint64) Scan(value any) error
func (*NullUint64) UnmarshalJSON ¶
func (v *NullUint64) UnmarshalJSON(s []byte) error
type PatternType ¶
type PatternType int
const ( PatternTypeNone PatternType = iota PatternTypeSelect PatternTypeInsert PatternTypeUpdate )
type Result ¶ added in v0.1.13
type Result struct {
// contains filtered or unexported fields
}
func (Result) AllInsertId ¶ added in v0.1.13
func (Result) LastInsertId ¶ added in v0.1.13
func (Result) RowsAffected ¶ added in v0.1.13
type Stat ¶
type Stat struct { Stat map[string]*connStat `json:"stat,omitempty"` // contains filtered or unexported fields }
Click to show internal directories.
Click to hide internal directories.