Documentation
¶
Index ¶
- Constants
- func IsDuplicateEntryError(err error) bool
- func NewConnectionFromSettings(logger log.Logger, settings Settings) (*sqlx.DB, error)
- func NewConnectionWithInterfaces(settings Settings) (*sqlx.DB, error)
- func NewCrateDbDriverFactory() *crateDbDriverFactory
- func ProvideConnection(config cfg.Config, logger log.Logger, configKey string) (*sqlx.DB, error)
- type Client
- type ClientSqlx
- func (c *ClientSqlx) BeginTx(ctx context.Context, ops *sql.TxOptions) (*sql.Tx, error)
- func (c *ClientSqlx) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
- func (c *ClientSqlx) Get(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- func (c *ClientSqlx) GetResult(ctx context.Context, query string, args ...interface{}) (*Result, error)
- func (c *ClientSqlx) GetSingleScalarValue(ctx context.Context, query string, args ...interface{}) (int, error)
- func (c *ClientSqlx) Prepare(ctx context.Context, query string) (*sql.Stmt, error)
- func (c *ClientSqlx) Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
- func (c *ClientSqlx) QueryRow(ctx context.Context, query string, args ...interface{}) *sql.Row
- func (c *ClientSqlx) Queryx(ctx context.Context, query string, args ...interface{}) (*sqlx.Rows, error)
- func (c *ClientSqlx) Select(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- func (c *ClientSqlx) WithTx(ctx context.Context, ops *sql.TxOptions, ...) (err error)
- type DriverFactory
- type DuplicateEntryError
- type MigrationSettings
- type QueryBuilder
- type RawQueryBuilder
- func (b *RawQueryBuilder) GroupBy(field ...string) QueryBuilder
- func (b *RawQueryBuilder) Joins(joins []string) QueryBuilder
- func (b *RawQueryBuilder) OrderBy(field string, direction string) QueryBuilder
- func (b *RawQueryBuilder) Page(offset int, size int) QueryBuilder
- func (b *RawQueryBuilder) Table(table string) QueryBuilder
- func (b *RawQueryBuilder) Where(query interface{}, args ...interface{}) QueryBuilder
- type Result
- type ResultRow
- type Settings
- type SqlResult
- type Uri
Constants ¶
View Source
const DriverMysql = "mysql"
View Source
const DriverNameCrateDb = "cratedb"
View Source
const DriverNameRedshift = "redshift"
View Source
const (
FormatDateTime = "2006-01-02 15:04:05"
)
Variables ¶
This section is empty.
Functions ¶
func IsDuplicateEntryError ¶
func NewCrateDbDriverFactory ¶
func NewCrateDbDriverFactory() *crateDbDriverFactory
Types ¶
type Client ¶
type Client interface {
GetSingleScalarValue(ctx context.Context, query string, args ...interface{}) (int, error)
GetResult(ctx context.Context, query string, args ...interface{}) (*Result, error)
Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
Prepare(ctx context.Context, query string) (*sql.Stmt, error)
Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
Queryx(ctx context.Context, query string, args ...interface{}) (*sqlx.Rows, error)
QueryRow(ctx context.Context, query string, args ...interface{}) *sql.Row
Select(ctx context.Context, dest interface{}, query string, args ...interface{}) error
Get(ctx context.Context, dest interface{}, query string, args ...interface{}) error
WithTx(ctx context.Context, ops *sql.TxOptions, do func(ctx context.Context, tx *sql.Tx) error) error
}
type ClientSqlx ¶
type ClientSqlx struct {
// contains filtered or unexported fields
}
func (*ClientSqlx) Get ¶
func (c *ClientSqlx) Get(ctx context.Context, dest interface{}, query string, args ...interface{}) error
func (*ClientSqlx) GetSingleScalarValue ¶
type DriverFactory ¶
type DriverFactory interface {
GetDSN(settings Settings) string
GetMigrationDriver(db *sql.DB, database string, migrationsTable string) (database.Driver, error)
}
func GetDriverFactory ¶
func GetDriverFactory(driverName string) (DriverFactory, error)
func NewMysqlDriverFactory ¶
func NewMysqlDriverFactory() DriverFactory
func NewRedshiftDriverFactory ¶
func NewRedshiftDriverFactory() DriverFactory
type DuplicateEntryError ¶
type DuplicateEntryError struct {
Err error
}
func (*DuplicateEntryError) As ¶
func (e *DuplicateEntryError) As(target interface{}) bool
func (*DuplicateEntryError) Error ¶
func (e *DuplicateEntryError) Error() string
func (*DuplicateEntryError) Is ¶
func (e *DuplicateEntryError) Is(err error) bool
func (*DuplicateEntryError) Unwrap ¶
func (e *DuplicateEntryError) Unwrap() error
type MigrationSettings ¶
type QueryBuilder ¶
type QueryBuilder interface {
Table(table string) QueryBuilder
Joins(joins []string) QueryBuilder
Where(query interface{}, args ...interface{}) QueryBuilder
GroupBy(field ...string) QueryBuilder
OrderBy(field string, direction string) QueryBuilder
Page(offset int, size int) QueryBuilder
}
type RawQueryBuilder ¶
type RawQueryBuilder struct {
Builder squirrel.SelectBuilder
}
func NewQueryBuilder ¶
func NewQueryBuilder() *RawQueryBuilder
func (*RawQueryBuilder) GroupBy ¶
func (b *RawQueryBuilder) GroupBy(field ...string) QueryBuilder
func (*RawQueryBuilder) Joins ¶
func (b *RawQueryBuilder) Joins(joins []string) QueryBuilder
func (*RawQueryBuilder) OrderBy ¶
func (b *RawQueryBuilder) OrderBy(field string, direction string) QueryBuilder
func (*RawQueryBuilder) Page ¶
func (b *RawQueryBuilder) Page(offset int, size int) QueryBuilder
func (*RawQueryBuilder) Table ¶
func (b *RawQueryBuilder) Table(table string) QueryBuilder
func (*RawQueryBuilder) Where ¶
func (b *RawQueryBuilder) Where(query interface{}, args ...interface{}) QueryBuilder
type Settings ¶
type Settings struct {
ConnectionMaxLifetime time.Duration `cfg:"connection_max_lifetime" default:"120s"`
Driver string `cfg:"driver"`
MaxIdleConnections int `cfg:"max_idle_connections" default:"2"` // 0 or negative number=no idle connections, sql driver default=2
MaxOpenConnections int `cfg:"max_open_connections" default:"0"` // 0 or negative number=unlimited, sql driver default=0
ParseTime bool `cfg:"parse_time" default:"true"`
Uri Uri `cfg:"uri"`
Migrations MigrationSettings `cfg:"migrations"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.