93 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package gorm
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"database/sql"
 | |
| 
 | |
| 	"gorm.io/gorm/clause"
 | |
| 	"gorm.io/gorm/schema"
 | |
| )
 | |
| 
 | |
| // Dialector GORM database dialector
 | |
| type Dialector interface {
 | |
| 	Name() string
 | |
| 	Initialize(*DB) error
 | |
| 	Migrator(db *DB) Migrator
 | |
| 	DataTypeOf(*schema.Field) string
 | |
| 	DefaultValueOf(*schema.Field) clause.Expression
 | |
| 	BindVarTo(writer clause.Writer, stmt *Statement, v interface{})
 | |
| 	QuoteTo(clause.Writer, string)
 | |
| 	Explain(sql string, vars ...interface{}) string
 | |
| }
 | |
| 
 | |
| // Plugin GORM plugin interface
 | |
| type Plugin interface {
 | |
| 	Name() string
 | |
| 	Initialize(*DB) error
 | |
| }
 | |
| 
 | |
| type ParamsFilter interface {
 | |
| 	ParamsFilter(ctx context.Context, sql string, params ...interface{}) (string, []interface{})
 | |
| }
 | |
| 
 | |
| // ConnPool db conns pool interface
 | |
| type ConnPool interface {
 | |
| 	PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
 | |
| 	ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
 | |
| 	QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
 | |
| 	QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row
 | |
| }
 | |
| 
 | |
| // SavePointerDialectorInterface save pointer interface
 | |
| type SavePointerDialectorInterface interface {
 | |
| 	SavePoint(tx *DB, name string) error
 | |
| 	RollbackTo(tx *DB, name string) error
 | |
| }
 | |
| 
 | |
| // TxBeginner tx beginner
 | |
| type TxBeginner interface {
 | |
| 	BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)
 | |
| }
 | |
| 
 | |
| // ConnPoolBeginner conn pool beginner
 | |
| type ConnPoolBeginner interface {
 | |
| 	BeginTx(ctx context.Context, opts *sql.TxOptions) (ConnPool, error)
 | |
| }
 | |
| 
 | |
| // TxCommitter tx committer
 | |
| type TxCommitter interface {
 | |
| 	Commit() error
 | |
| 	Rollback() error
 | |
| }
 | |
| 
 | |
| // Tx sql.Tx interface
 | |
| type Tx interface {
 | |
| 	ConnPool
 | |
| 	TxCommitter
 | |
| 	StmtContext(ctx context.Context, stmt *sql.Stmt) *sql.Stmt
 | |
| }
 | |
| 
 | |
| // Valuer gorm valuer interface
 | |
| type Valuer interface {
 | |
| 	GormValue(context.Context, *DB) clause.Expr
 | |
| }
 | |
| 
 | |
| // GetDBConnector SQL db connector
 | |
| type GetDBConnector interface {
 | |
| 	GetDBConn() (*sql.DB, error)
 | |
| }
 | |
| 
 | |
| // Rows rows interface
 | |
| type Rows interface {
 | |
| 	Columns() ([]string, error)
 | |
| 	ColumnTypes() ([]*sql.ColumnType, error)
 | |
| 	Next() bool
 | |
| 	Scan(dest ...interface{}) error
 | |
| 	Err() error
 | |
| 	Close() error
 | |
| }
 | |
| 
 | |
| type ErrorTranslator interface {
 | |
| 	Translate(err error) error
 | |
| }
 |