dbEngine

package
v1.0.301 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2020 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Column

type Column interface {
	BasicType() types.BasicKind
	BasicTypeInfo() types.BasicInfo
	CheckAttr(fieldDefine string) string
	CharacterMaximumLength() int
	Comment() string
	Name() string
	Type() string
	Required() bool
	SetNullable(bool)
}

func SimpleColumns added in v1.0.296

func SimpleColumns(names ...string) []Column

type Connection added in v1.0.301

type Connection interface {
	InitConn(ctx context.Context, dbURL string) error
	GetSchema(ctx context.Context) (map[string]Table, map[string]Routine, error)
	GetStat() string
	ExecDDL(ctx context.Context, sql string, args ...interface{}) error
	NewTable(name, typ string) Table
}

type DB

type DB struct {
	Cfg      map[string]interface{}
	Conn     Connection
	Tables   map[string]Table
	Routines map[string]Routine
}

func NewDB added in v1.0.301

func NewDB(ctx context.Context, conn Connection) (*DB, error)

func (*DB) ReadTableSQL added in v1.0.301

func (db *DB) ReadTableSQL(path string, info os.FileInfo, err error) error

type ErrNotFoundField added in v1.0.301

type ErrNotFoundField struct {
	Table     string
	FieldName string
}

ErrNotFoundField if not found in table {Table} field by name {FieldName}

func (ErrNotFoundField) Error added in v1.0.301

func (err ErrNotFoundField) Error() string

type ErrNotFoundTable added in v1.0.301

type ErrNotFoundTable struct {
	Table string
}

ErrNotFoundTable if not found table by name {Table}

func (ErrNotFoundTable) Error added in v1.0.301

func (err ErrNotFoundTable) Error() string

type Index added in v1.0.301

type Index interface {
	Name() string
}

type NumberColumn added in v1.0.296

type NumberColumn struct {
	IsNullable bool
	// contains filtered or unexported fields
}

func NewNumberColumn added in v1.0.296

func NewNumberColumn(name, comment string, req bool) *NumberColumn

func (*NumberColumn) BasicType added in v1.0.301

func (s *NumberColumn) BasicType() types.BasicKind

func (*NumberColumn) BasicTypeInfo added in v1.0.301

func (s *NumberColumn) BasicTypeInfo() types.BasicInfo

func (*NumberColumn) CharacterMaximumLength added in v1.0.296

func (s *NumberColumn) CharacterMaximumLength() int

func (*NumberColumn) CheckAttr added in v1.0.301

func (s *NumberColumn) CheckAttr(fieldDefine string) string

func (*NumberColumn) Comment added in v1.0.296

func (s *NumberColumn) Comment() string

func (*NumberColumn) Name added in v1.0.296

func (s *NumberColumn) Name() string

func (*NumberColumn) Required added in v1.0.296

func (s *NumberColumn) Required() bool

func (*NumberColumn) SetNullable added in v1.0.301

func (c *NumberColumn) SetNullable(f bool)

func (*NumberColumn) Type added in v1.0.296

func (s *NumberColumn) Type() string

type ParserTableDDL added in v1.0.301

type ParserTableDDL struct {
	Table
	*DB
	// contains filtered or unexported fields
}

func NewtableParser added in v1.0.301

func NewtableParser(table Table, db *DB) ParserTableDDL

func (ParserTableDDL) Parse added in v1.0.301

func (p ParserTableDDL) Parse(ddl string) error

type Routine

type Routine interface {
	Name() string
	Select() error
	Call()
	Params()
}

type RowScanner

type RowScanner interface {
	GetFields([]Column) []interface{}
}

type StringColumn

type StringColumn struct {
	IsNullable bool
	// contains filtered or unexported fields
}

func NewStringColumn

func NewStringColumn(name, comment string, req bool) *StringColumn

func (*StringColumn) BasicType added in v1.0.301

func (s *StringColumn) BasicType() types.BasicKind

func (*StringColumn) BasicTypeInfo added in v1.0.301

func (s *StringColumn) BasicTypeInfo() types.BasicInfo

func (*StringColumn) CharacterMaximumLength

func (s *StringColumn) CharacterMaximumLength() int

func (*StringColumn) CheckAttr added in v1.0.301

func (s *StringColumn) CheckAttr(fieldDefine string) string

func (*StringColumn) Comment added in v1.0.296

func (s *StringColumn) Comment() string

func (*StringColumn) Name

func (s *StringColumn) Name() string

func (*StringColumn) Required added in v1.0.296

func (s *StringColumn) Required() bool

func (*StringColumn) SetNullable added in v1.0.301

func (c *StringColumn) SetNullable(f bool)

func (*StringColumn) Type added in v1.0.296

func (s *StringColumn) Type() string

type Table

type Table interface {
	Columns() []Column
	FindField(name string) Column
	FindIndex(name string) Index
	GetColumns(ctx context.Context) error
	Insert(ctx context.Context)
	Name() string
	RecacheField(nameColumn string) Column
	Select(ctx context.Context)
	SelectAndScanEach(ctx context.Context, each func() error, rowValue RowScanner) error
	SelectAndRunEach(ctx context.Context, each func(values []interface{}, columns []Column) error) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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