Documentation ¶
Index ¶
- Constants
- Variables
- func CheckError(err error, t int) bool
- func CommonBeginTxWithLevel(db *sql.DB, level sql.IsolationLevel) *sql.Tx
- func CommonExec(db *sql.DB, query string, args ...interface{}) (sql.Result, error)
- func CommonExecWithTx(tx *sql.Tx, query string, args ...interface{}) (sql.Result, error)
- func CommonQuery(db *sql.DB, query string, args ...interface{}) ([]map[string]interface{}, error)
- func CommonQueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error)
- func Contains(v DatabaseType, a []DatabaseType) bool
- func GetAggregationExpression(driver, field, headField, delimiter string) string
- func RecycleSQL(sql *SQL)
- func SetColVarType(colVar *[]interface{}, i int, typeName string)
- func SetResultValue(result *map[string]interface{}, index string, colVar interface{}, ...)
- type Base
- type Connection
- type DatabaseType
- type H
- type Mssql
- func (db *Mssql) BeginTx() *sql.Tx
- func (db *Mssql) BeginTxAndConnection(conn string) *sql.Tx
- func (db *Mssql) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
- func (db *Mssql) BeginTxWithLevelAndConnection(conn string, level sql.IsolationLevel) *sql.Tx
- func (db *Mssql) BeginTxWithReadCommitted() *sql.Tx
- func (db *Mssql) BeginTxWithReadCommittedAndConnection(conn string) *sql.Tx
- func (db *Mssql) BeginTxWithReadUncommitted() *sql.Tx
- func (db *Mssql) BeginTxWithReadUncommittedAndConnection(conn string) *sql.Tx
- func (db *Mssql) BeginTxWithRepeatableRead() *sql.Tx
- func (db *Mssql) BeginTxWithRepeatableReadAndConnection(conn string) *sql.Tx
- func (db *Mssql) Exec(query string, args ...interface{}) (sql.Result, error)
- func (db *Mssql) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
- func (db *Mssql) ExecWithTx(tx *sql.Tx, query string, args ...interface{}) (sql.Result, error)
- func (db *Mssql) GetDelimiter() string
- func (db *Mssql) InitDB(cfgs map[string]config.Database) Connection
- func (db *Mssql) Name() string
- func (db *Mssql) Query(query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Mssql) QueryWithConnection(con string, query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Mssql) QueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error)
- type Mysql
- func (db *Mysql) BeginTx() *sql.Tx
- func (db *Mysql) BeginTxAndConnection(conn string) *sql.Tx
- func (db *Mysql) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
- func (db *Mysql) BeginTxWithLevelAndConnection(conn string, level sql.IsolationLevel) *sql.Tx
- func (db *Mysql) BeginTxWithReadCommitted() *sql.Tx
- func (db *Mysql) BeginTxWithReadCommittedAndConnection(conn string) *sql.Tx
- func (db *Mysql) BeginTxWithReadUncommitted() *sql.Tx
- func (db *Mysql) BeginTxWithReadUncommittedAndConnection(conn string) *sql.Tx
- func (db *Mysql) BeginTxWithRepeatableRead() *sql.Tx
- func (db *Mysql) BeginTxWithRepeatableReadAndConnection(conn string) *sql.Tx
- func (db *Mysql) Exec(query string, args ...interface{}) (sql.Result, error)
- func (db *Mysql) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
- func (db *Mysql) ExecWithTx(tx *sql.Tx, query string, args ...interface{}) (sql.Result, error)
- func (db *Mysql) GetDelimiter() string
- func (db *Mysql) InitDB(cfgs map[string]config.Database) Connection
- func (db *Mysql) Name() string
- func (db *Mysql) Query(query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Mysql) QueryWithConnection(con string, query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Mysql) QueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error)
- type Postgresql
- func (db *Postgresql) BeginTx() *sql.Tx
- func (db *Postgresql) BeginTxAndConnection(conn string) *sql.Tx
- func (db *Postgresql) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
- func (db *Postgresql) BeginTxWithLevelAndConnection(conn string, level sql.IsolationLevel) *sql.Tx
- func (db *Postgresql) BeginTxWithReadCommitted() *sql.Tx
- func (db *Postgresql) BeginTxWithReadCommittedAndConnection(conn string) *sql.Tx
- func (db *Postgresql) BeginTxWithReadUncommitted() *sql.Tx
- func (db *Postgresql) BeginTxWithReadUncommittedAndConnection(conn string) *sql.Tx
- func (db *Postgresql) BeginTxWithRepeatableRead() *sql.Tx
- func (db *Postgresql) BeginTxWithRepeatableReadAndConnection(conn string) *sql.Tx
- func (db *Postgresql) Exec(query string, args ...interface{}) (sql.Result, error)
- func (db *Postgresql) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
- func (db *Postgresql) ExecWithTx(tx *sql.Tx, query string, args ...interface{}) (sql.Result, error)
- func (db *Postgresql) GetDelimiter() string
- func (db *Postgresql) InitDB(cfgList map[string]config.Database) Connection
- func (db *Postgresql) Name() string
- func (db *Postgresql) Query(query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Postgresql) QueryWithConnection(con string, query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Postgresql) QueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error)
- type SQL
- func (sql *SQL) All() ([]map[string]interface{}, error)
- func (sql *SQL) Avg(field string) (interface{}, error)
- func (sql *SQL) Count() (int64, error)
- func (sql *SQL) Delete() error
- func (sql *SQL) Exec() (int64, error)
- func (sql *SQL) Find(arg interface{}) (map[string]interface{}, error)
- func (sql *SQL) First() (map[string]interface{}, error)
- func (sql *SQL) GroupBy(fields ...string) *SQL
- func (sql *SQL) GroupByRaw(group string) *SQL
- func (sql *SQL) Insert(values dialect.H) (int64, error)
- func (sql *SQL) LeftJoin(table string, fieldA string, operation string, fieldB string) *SQL
- func (sql *SQL) Max(field string) (interface{}, error)
- func (sql *SQL) Min(field string) (interface{}, error)
- func (sql *SQL) OrderBy(fields ...string) *SQL
- func (sql *SQL) OrderByRaw(order string) *SQL
- func (sql *SQL) Select(fields ...string) *SQL
- func (sql *SQL) ShowColumns() ([]map[string]interface{}, error)
- func (sql *SQL) ShowTables() ([]string, error)
- func (sql *SQL) Skip(offset int) *SQL
- func (sql *SQL) Sum(field string) (float64, error)
- func (sql *SQL) Table(table string) *SQL
- func (sql *SQL) Take(take int) *SQL
- func (sql *SQL) Update(values dialect.H) (int64, error)
- func (sql *SQL) UpdateRaw(raw string, args ...interface{}) *SQL
- func (sql *SQL) Where(field string, operation string, arg interface{}) *SQL
- func (sql *SQL) WhereIn(field string, arg []interface{}) *SQL
- func (sql *SQL) WhereNotIn(field string, arg []interface{}) *SQL
- func (sql *SQL) WhereRaw(raw string, args ...interface{}) *SQL
- func (sql *SQL) WithConnection(conn string) *SQL
- func (sql *SQL) WithDriver(conn Connection) *SQL
- func (sql *SQL) WithTransaction(fn TxFn) (res map[string]interface{}, err error)
- func (sql *SQL) WithTransactionByLevel(level dbsql.IsolationLevel, fn TxFn) (res map[string]interface{}, err error)
- func (sql *SQL) WithTx(tx *dbsql.Tx) *SQL
- type SQLTx
- type Sqlite
- func (db *Sqlite) BeginTx() *sql.Tx
- func (db *Sqlite) BeginTxAndConnection(conn string) *sql.Tx
- func (db *Sqlite) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
- func (db *Sqlite) BeginTxWithLevelAndConnection(conn string, level sql.IsolationLevel) *sql.Tx
- func (db *Sqlite) BeginTxWithReadCommitted() *sql.Tx
- func (db *Sqlite) BeginTxWithReadCommittedAndConnection(conn string) *sql.Tx
- func (db *Sqlite) BeginTxWithReadUncommitted() *sql.Tx
- func (db *Sqlite) BeginTxWithReadUncommittedAndConnection(conn string) *sql.Tx
- func (db *Sqlite) BeginTxWithRepeatableRead() *sql.Tx
- func (db *Sqlite) BeginTxWithRepeatableReadAndConnection(conn string) *sql.Tx
- func (db *Sqlite) Exec(query string, args ...interface{}) (sql.Result, error)
- func (db *Sqlite) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
- func (db *Sqlite) ExecWithTx(tx *sql.Tx, query string, args ...interface{}) (sql.Result, error)
- func (db *Sqlite) GetDelimiter() string
- func (db *Sqlite) InitDB(cfgList map[string]config.Database) Connection
- func (db *Sqlite) Name() string
- func (db *Sqlite) Query(query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Sqlite) QueryWithConnection(con string, query string, args ...interface{}) ([]map[string]interface{}, error)
- func (db *Sqlite) QueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error)
- type TxFn
- type Value
Constants ¶
const ( // DriverMysql is a const value of mysql driver. DriverMysql = "mysql" // DriverSqlite is a const value of sqlite driver. DriverSqlite = "sqlite" // DriverPostgresql is a const value of postgresql driver. DriverPostgresql = "postgresql" // DriverMssql is a const value of mssql driver. DriverMssql = "mssql" )
const ( INSERT = 0 DELETE = 1 UPDATE = 2 QUERY = 3 )
Variables ¶
var ( // StringTypeList is a DatabaseType list of string. StringTypeList = []DatabaseType{Date, Time, Year, Datetime, Timestamptz, Timestamp, Timetz, Varchar, Char, Mediumtext, Longtext, Tinytext, Text, JSON, Blob, Tinyblob, Mediumblob, Longblob, Interval, Point, Bpchar, Line, Lseg, Box, Path, Polygon, Circle, Cidr, Inet, Macaddr, Character, Varyingcharacter, Nchar, Nativecharacter, Nvarchar, Clob, Binary, Varbinary, Enum, Set, Geometry, Multilinestring, Multipolygon, Linestring, Multipoint, Geometrycollection, Name, UUID, Timestamptz, Name, UUID, Inet} // BoolTypeList is a DatabaseType list of bool. BoolTypeList = []DatabaseType{Bool, Boolean} // IntTypeList is a DatabaseType list of integer. IntTypeList = []DatabaseType{Int4, Int2, Int8, Int, Tinyint, Mediumint, Smallint, Smallserial, Serial, Bigserial, Integer, Bigint} // FloatTypeList is a DatabaseType list of float. FloatTypeList = []DatabaseType{Float, Float4, Float8, Double, Real, Doubleprecision} // UintTypeList is a DatabaseType list of uint. UintTypeList = []DatabaseType{Decimal, Bit, Money, Numeric} )
var SQLPool = sync.Pool{ New: func() interface{} { return &SQL{ SQLComponent: dialect.SQLComponent{ Fields: make([]string, 0), TableName: "", Args: make([]interface{}, 0), Wheres: make([]dialect.Where, 0), Leftjoins: make([]dialect.Join, 0), UpdateRaws: make([]dialect.RawUpdate, 0), WhereRaws: "", Order: "", Group: "", Limit: "", }, diver: nil, dialect: nil, } }, }
SQLPool is a object pool of SQL.
Functions ¶
func CheckError ¶ added in v1.2.7
func CommonBeginTxWithLevel ¶ added in v1.1.0
CommonBeginTxWithLevel starts a transaction with given transaction isolation level and db connection.
func CommonExec ¶
CommonExec is a common method of exec.
func CommonExecWithTx ¶ added in v1.1.0
CommonExecWithTx is a common method of exec.
func CommonQuery ¶
CommonQuery is a common method of query.
func CommonQueryWithTx ¶ added in v1.1.0
func CommonQueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error)
CommonQueryWithTx is a common method of query.
func Contains ¶
func Contains(v DatabaseType, a []DatabaseType) bool
Contains check the given DatabaseType is in the list or not.
func GetAggregationExpression ¶ added in v1.2.3
func RecycleSQL ¶ added in v1.0.8
func RecycleSQL(sql *SQL)
RecycleSQL clear the SQL and put into the pool.
func SetColVarType ¶
SetColVarType set the column type.
func SetResultValue ¶
func SetResultValue(result *map[string]interface{}, index string, colVar interface{}, typeName string)
SetResultValue set the result value.
Types ¶
type Base ¶ added in v1.1.6
Base is a common Connection.
type Connection ¶
type Connection interface { // Query is the query method of sql. Query(query string, args ...interface{}) ([]map[string]interface{}, error) // Exec is the exec method of sql. Exec(query string, args ...interface{}) (sql.Result, error) // QueryWithConnection is the query method with given connection of sql. QueryWithConnection(conn, query string, args ...interface{}) ([]map[string]interface{}, error) // ExecWithConnection is the exec method with given connection of sql. ExecWithConnection(conn, query string, args ...interface{}) (sql.Result, error) QueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error) ExecWithTx(tx *sql.Tx, query string, args ...interface{}) (sql.Result, error) BeginTxWithReadUncommitted() *sql.Tx BeginTxWithReadCommitted() *sql.Tx BeginTxWithRepeatableRead() *sql.Tx BeginTx() *sql.Tx BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx BeginTxWithReadUncommittedAndConnection(conn string) *sql.Tx BeginTxWithReadCommittedAndConnection(conn string) *sql.Tx BeginTxWithRepeatableReadAndConnection(conn string) *sql.Tx BeginTxAndConnection(conn string) *sql.Tx BeginTxWithLevelAndConnection(conn string, level sql.IsolationLevel) *sql.Tx // InitDB initialize the database connections. InitDB(cfg map[string]config.Database) Connection // GetName get the connection name. Name() string Close() []error // GetDelimiter get the default testDelimiter. GetDelimiter() string GetDB(key string) *sql.DB GetConfig(name string) config.Database CreateDB(name string, beans ...interface{}) error }
Connection is a connection handler of database.
func GetConnection ¶
func GetConnection(srvs service.List) Connection
func GetConnectionByDriver ¶
func GetConnectionByDriver(driver string) Connection
GetConnectionByDriver return the Connection by given driver name.
func GetConnectionFromService ¶ added in v1.1.2
func GetConnectionFromService(srv interface{}) Connection
type DatabaseType ¶
type DatabaseType string
DatabaseType is the database field type.
const ( Int DatabaseType = "INT" Tinyint DatabaseType = "TINYINT" Mediumint DatabaseType = "MEDIUMINT" Smallint DatabaseType = "SMALLINT" Bigint DatabaseType = "BIGINT" Bit DatabaseType = "BIT" Int8 DatabaseType = "INT8" Int4 DatabaseType = "INT4" Int2 DatabaseType = "INT2" Integer DatabaseType = "INTEGER" Numeric DatabaseType = "NUMERIC" Smallserial DatabaseType = "SMALLSERIAL" Serial DatabaseType = "SERIAL" Bigserial DatabaseType = "BIGSERIAL" Money DatabaseType = "MONEY" Real DatabaseType = "REAL" Float DatabaseType = "FLOAT" Float4 DatabaseType = "FLOAT4" Float8 DatabaseType = "FLOAT8" Double DatabaseType = "DOUBLE" Decimal DatabaseType = "DECIMAL" Doubleprecision DatabaseType = "DOUBLEPRECISION" Date DatabaseType = "DATE" Time DatabaseType = "TIME" Year DatabaseType = "YEAR" Datetime DatabaseType = "DATETIME" Timestamp DatabaseType = "TIMESTAMP" Text DatabaseType = "TEXT" Longtext DatabaseType = "LONGTEXT" Mediumtext DatabaseType = "MEDIUMTEXT" Tinytext DatabaseType = "TINYTEXT" Varchar DatabaseType = "VARCHAR" Char DatabaseType = "CHAR" Bpchar DatabaseType = "BPCHAR" JSON DatabaseType = "JSON" Blob DatabaseType = "BLOB" Tinyblob DatabaseType = "TINYBLOB" Mediumblob DatabaseType = "MEDIUMBLOB" Longblob DatabaseType = "LONGBLOB" Interval DatabaseType = "INTERVAL" Boolean DatabaseType = "BOOLEAN" Bool DatabaseType = "BOOL" Point DatabaseType = "POINT" Line DatabaseType = "LINE" Lseg DatabaseType = "LSEG" Box DatabaseType = "BOX" Path DatabaseType = "PATH" Polygon DatabaseType = "POLYGON" Circle DatabaseType = "CIRCLE" Cidr DatabaseType = "CIDR" Inet DatabaseType = "INET" Macaddr DatabaseType = "MACADDR" Character DatabaseType = "CHARACTER" Varyingcharacter DatabaseType = "VARYINGCHARACTER" Nchar DatabaseType = "NCHAR" Nativecharacter DatabaseType = "NATIVECHARACTER" Nvarchar DatabaseType = "NVARCHAR" Clob DatabaseType = "CLOB" Binary DatabaseType = "BINARY" Varbinary DatabaseType = "VARBINARY" Enum DatabaseType = "ENUM" Set DatabaseType = "SET" Geometry DatabaseType = "GEOMETRY" Multilinestring DatabaseType = "MULTILINESTRING" Multipolygon DatabaseType = "MULTIPOLYGON" Linestring DatabaseType = "LINESTRING" Multipoint DatabaseType = "MULTIPOINT" Geometrycollection DatabaseType = "GEOMETRYCOLLECTION" Name DatabaseType = "NAME" UUID DatabaseType = "UUID" Timestamptz DatabaseType = "TIMESTAMPTZ" Timetz DatabaseType = "TIMETZ" )
func GetDTAndCheck ¶
func GetDTAndCheck(s string) DatabaseType
GetDTAndCheck check the DatabaseType.
type Mssql ¶
type Mssql struct {
Base
}
Mssql is a Connection of mssql.
func (*Mssql) BeginTxAndConnection ¶ added in v1.1.0
BeginTxAndConnection starts a transaction with level LevelDefault and connection.
func (*Mssql) BeginTxWithLevel ¶ added in v1.1.0
func (db *Mssql) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
BeginTxWithLevel starts a transaction with given transaction isolation level.
func (*Mssql) BeginTxWithLevelAndConnection ¶ added in v1.1.0
BeginTxWithLevelAndConnection starts a transaction with given transaction isolation level and connection.
func (*Mssql) BeginTxWithReadCommitted ¶ added in v1.1.0
BeginTxWithReadCommitted starts a transaction with level LevelReadCommitted.
func (*Mssql) BeginTxWithReadCommittedAndConnection ¶ added in v1.1.0
BeginTxWithReadCommittedAndConnection starts a transaction with level LevelReadCommitted and connection.
func (*Mssql) BeginTxWithReadUncommitted ¶ added in v1.1.0
BeginTxWithReadUncommitted starts a transaction with level LevelReadUncommitted.
func (*Mssql) BeginTxWithReadUncommittedAndConnection ¶ added in v1.1.0
BeginTxWithReadUncommittedAndConnection starts a transaction with level LevelReadUncommitted and connection.
func (*Mssql) BeginTxWithRepeatableRead ¶ added in v1.1.0
BeginTxWithRepeatableRead starts a transaction with level LevelRepeatableRead.
func (*Mssql) BeginTxWithRepeatableReadAndConnection ¶ added in v1.1.0
BeginTxWithRepeatableReadAndConnection starts a transaction with level LevelRepeatableRead and connection.
func (*Mssql) ExecWithConnection ¶
func (db *Mssql) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
ExecWithConnection implements the method Connection.ExecWithConnection.
func (*Mssql) ExecWithTx ¶ added in v1.1.0
ExecWithTx is exec method within the transaction.
func (*Mssql) GetDelimiter ¶
GetDelimiter implements the method Connection.GetDelimiter.
func (*Mssql) InitDB ¶
func (db *Mssql) InitDB(cfgs map[string]config.Database) Connection
InitDB implements the method Connection.InitDB.
type Mysql ¶
type Mysql struct {
Base
}
Mysql is a Connection of mysql.
func (*Mysql) BeginTxAndConnection ¶ added in v1.1.0
BeginTxAndConnection starts a transaction with level LevelDefault and connection.
func (*Mysql) BeginTxWithLevel ¶ added in v1.1.0
func (db *Mysql) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
BeginTxWithLevel starts a transaction with given transaction isolation level.
func (*Mysql) BeginTxWithLevelAndConnection ¶ added in v1.1.0
BeginTxWithLevelAndConnection starts a transaction with given transaction isolation level and connection.
func (*Mysql) BeginTxWithReadCommitted ¶ added in v1.1.0
BeginTxWithReadCommitted starts a transaction with level LevelReadCommitted.
func (*Mysql) BeginTxWithReadCommittedAndConnection ¶ added in v1.1.0
BeginTxWithReadCommittedAndConnection starts a transaction with level LevelReadCommitted and connection.
func (*Mysql) BeginTxWithReadUncommitted ¶ added in v1.1.0
BeginTxWithReadUncommitted starts a transaction with level LevelReadUncommitted.
func (*Mysql) BeginTxWithReadUncommittedAndConnection ¶ added in v1.1.0
BeginTxWithReadUncommittedAndConnection starts a transaction with level LevelReadUncommitted and connection.
func (*Mysql) BeginTxWithRepeatableRead ¶ added in v1.1.0
BeginTxWithRepeatableRead starts a transaction with level LevelRepeatableRead.
func (*Mysql) BeginTxWithRepeatableReadAndConnection ¶ added in v1.1.0
BeginTxWithRepeatableReadAndConnection starts a transaction with level LevelRepeatableRead and connection.
func (*Mysql) ExecWithConnection ¶
func (db *Mysql) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
ExecWithConnection implements the method Connection.ExecWithConnection.
func (*Mysql) ExecWithTx ¶ added in v1.1.0
ExecWithTx is exec method within the transaction.
func (*Mysql) GetDelimiter ¶
GetDelimiter implements the method Connection.GetDelimiter.
func (*Mysql) InitDB ¶
func (db *Mysql) InitDB(cfgs map[string]config.Database) Connection
InitDB implements the method Connection.InitDB.
type Postgresql ¶
type Postgresql struct {
Base
}
Postgresql is a Connection of postgresql.
func GetPostgresqlDB ¶
func GetPostgresqlDB() *Postgresql
GetPostgresqlDB return the global postgresql connection.
func (*Postgresql) BeginTx ¶ added in v1.1.0
func (db *Postgresql) BeginTx() *sql.Tx
BeginTx starts a transaction with level LevelDefault.
func (*Postgresql) BeginTxAndConnection ¶ added in v1.1.0
func (db *Postgresql) BeginTxAndConnection(conn string) *sql.Tx
BeginTxAndConnection starts a transaction with level LevelDefault and connection.
func (*Postgresql) BeginTxWithLevel ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
BeginTxWithLevel starts a transaction with given transaction isolation level.
func (*Postgresql) BeginTxWithLevelAndConnection ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithLevelAndConnection(conn string, level sql.IsolationLevel) *sql.Tx
BeginTxWithLevelAndConnection starts a transaction with given transaction isolation level and connection.
func (*Postgresql) BeginTxWithReadCommitted ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithReadCommitted() *sql.Tx
BeginTxWithReadCommitted starts a transaction with level LevelReadCommitted.
func (*Postgresql) BeginTxWithReadCommittedAndConnection ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithReadCommittedAndConnection(conn string) *sql.Tx
BeginTxWithReadCommittedAndConnection starts a transaction with level LevelReadCommitted and connection.
func (*Postgresql) BeginTxWithReadUncommitted ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithReadUncommitted() *sql.Tx
BeginTxWithReadUncommitted starts a transaction with level LevelReadUncommitted.
func (*Postgresql) BeginTxWithReadUncommittedAndConnection ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithReadUncommittedAndConnection(conn string) *sql.Tx
BeginTxWithReadUncommittedAndConnection starts a transaction with level LevelReadUncommitted and connection.
func (*Postgresql) BeginTxWithRepeatableRead ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithRepeatableRead() *sql.Tx
BeginTxWithRepeatableRead starts a transaction with level LevelRepeatableRead.
func (*Postgresql) BeginTxWithRepeatableReadAndConnection ¶ added in v1.1.0
func (db *Postgresql) BeginTxWithRepeatableReadAndConnection(conn string) *sql.Tx
BeginTxWithRepeatableReadAndConnection starts a transaction with level LevelRepeatableRead and connection.
func (*Postgresql) Exec ¶
func (db *Postgresql) Exec(query string, args ...interface{}) (sql.Result, error)
Exec implements the method Connection.Exec.
func (*Postgresql) ExecWithConnection ¶
func (db *Postgresql) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
ExecWithConnection implements the method Connection.ExecWithConnection.
func (*Postgresql) ExecWithTx ¶ added in v1.1.0
ExecWithTx is exec method within the transaction.
func (*Postgresql) GetDelimiter ¶
func (db *Postgresql) GetDelimiter() string
GetDelimiter implements the method Connection.GetDelimiter.
func (*Postgresql) InitDB ¶
func (db *Postgresql) InitDB(cfgList map[string]config.Database) Connection
InitDB implements the method Connection.InitDB.
func (*Postgresql) Name ¶ added in v1.1.2
func (db *Postgresql) Name() string
Name implements the method Connection.Name.
func (*Postgresql) Query ¶
func (db *Postgresql) Query(query string, args ...interface{}) ([]map[string]interface{}, error)
Query implements the method Connection.Query.
func (*Postgresql) QueryWithConnection ¶
func (db *Postgresql) QueryWithConnection(con string, query string, args ...interface{}) ([]map[string]interface{}, error)
QueryWithConnection implements the method Connection.QueryWithConnection.
func (*Postgresql) QueryWithTx ¶ added in v1.1.0
func (db *Postgresql) QueryWithTx(tx *sql.Tx, query string, args ...interface{}) ([]map[string]interface{}, error)
QueryWithTx is query method within the transaction.
type SQL ¶ added in v1.0.8
type SQL struct { dialect.SQLComponent // contains filtered or unexported fields }
SQL wraps the Connection and driver dialect methods.
func WithDriverAndConnection ¶
func WithDriverAndConnection(connName string, conn Connection) *SQL
WithDriverAndConnection return a SQL with given driver and connection name.
func (*SQL) Find ¶ added in v1.0.8
Find query the sql result with given id assuming that primary key name is "id".
func (*SQL) GroupByRaw ¶ added in v1.2.6
GroupByRaw set group by.
func (*SQL) OrderByRaw ¶ added in v1.2.6
OrderByRaw set order by.
func (*SQL) ShowColumns ¶ added in v1.0.8
ShowColumns show columns info.
func (*SQL) ShowTables ¶ added in v1.0.8
ShowTables show table info.
func (*SQL) WhereNotIn ¶ added in v1.0.8
WhereNotIn add the where operation of "not in" and argument values.
func (*SQL) WithConnection ¶ added in v1.0.8
WithConnection set the connection name of SQL.
func (*SQL) WithDriver ¶ added in v1.1.2
func (sql *SQL) WithDriver(conn Connection) *SQL
WithDriver return a SQL with given driver.
func (*SQL) WithTransaction ¶ added in v1.1.0
WithTransaction call the callback function within the transaction and catch the error.
func (*SQL) WithTransactionByLevel ¶ added in v1.1.0
func (sql *SQL) WithTransactionByLevel(level dbsql.IsolationLevel, fn TxFn) (res map[string]interface{}, err error)
WithTransactionByLevel call the callback function within the transaction of given transaction level and catch the error.
type Sqlite ¶
type Sqlite struct {
Base
}
Sqlite is a Connection of sqlite.
func (*Sqlite) BeginTxAndConnection ¶ added in v1.1.0
BeginTxAndConnection starts a transaction with level LevelDefault and connection.
func (*Sqlite) BeginTxWithLevel ¶ added in v1.1.0
func (db *Sqlite) BeginTxWithLevel(level sql.IsolationLevel) *sql.Tx
BeginTxWithLevel starts a transaction with given transaction isolation level.
func (*Sqlite) BeginTxWithLevelAndConnection ¶ added in v1.1.0
BeginTxWithLevelAndConnection starts a transaction with given transaction isolation level and connection.
func (*Sqlite) BeginTxWithReadCommitted ¶ added in v1.1.0
BeginTxWithReadCommitted starts a transaction with level LevelReadCommitted.
func (*Sqlite) BeginTxWithReadCommittedAndConnection ¶ added in v1.1.0
BeginTxWithReadCommittedAndConnection starts a transaction with level LevelReadCommitted and connection.
func (*Sqlite) BeginTxWithReadUncommitted ¶ added in v1.1.0
BeginTxWithReadUncommitted starts a transaction with level LevelReadUncommitted.
func (*Sqlite) BeginTxWithReadUncommittedAndConnection ¶ added in v1.1.0
BeginTxWithReadUncommittedAndConnection starts a transaction with level LevelReadUncommitted and connection.
func (*Sqlite) BeginTxWithRepeatableRead ¶ added in v1.1.0
BeginTxWithRepeatableRead starts a transaction with level LevelRepeatableRead.
func (*Sqlite) BeginTxWithRepeatableReadAndConnection ¶ added in v1.1.0
BeginTxWithRepeatableReadAndConnection starts a transaction with level LevelRepeatableRead and connection.
func (*Sqlite) ExecWithConnection ¶
func (db *Sqlite) ExecWithConnection(con string, query string, args ...interface{}) (sql.Result, error)
ExecWithConnection implements the method Connection.ExecWithConnection.
func (*Sqlite) ExecWithTx ¶ added in v1.1.0
ExecWithTx is exec method within the transaction.
func (*Sqlite) GetDelimiter ¶
GetDelimiter implements the method Connection.GetDelimiter.
func (*Sqlite) InitDB ¶
func (db *Sqlite) InitDB(cfgList map[string]config.Database) Connection
InitDB implements the method Connection.InitDB.
type Value ¶
type Value string
Value is a string.
func GetValueFromDatabaseType ¶
func GetValueFromDatabaseType(typ DatabaseType, value interface{}, json bool) Value
func GetValueFromJSONOfDatabaseType ¶ added in v1.2.0
func GetValueFromJSONOfDatabaseType(typ DatabaseType, value interface{}) Value
GetValueFromJSONOfDatabaseType return Value of given DatabaseType and interface from JSON string value.
func GetValueFromSQLOfDatabaseType ¶ added in v1.2.0
func GetValueFromSQLOfDatabaseType(typ DatabaseType, value interface{}) Value
GetValueFromDatabaseType return Value of given DatabaseType and interface.