Documentation ¶
Overview ¶
Code generated by MockGen. DO NOT EDIT. Source: ./interface.go
Generated by this command:
mockgen -typed -package=sql -destination=./mocks.go -source=./interface.go
Package sql is a generated GoMock package.
Index ¶
- Variables
- func Vacuum(db Executor) error
- type Database
- func (db *Database) Close() error
- func (db *Database) Exec(query string, encoder Encoder, decoder Decoder) (int, error)
- func (db *Database) Tx(ctx context.Context) (*Tx, error)
- func (db *Database) TxImmediate(ctx context.Context) (*Tx, error)
- func (db *Database) WithTx(ctx context.Context, exec func(*Tx) error) error
- func (db *Database) WithTxImmediate(ctx context.Context, exec func(*Tx) error) error
- type Decoder
- type Encoder
- type Executor
- type Migration
- type MigrationApplyCall
- type MigrationNameCall
- type MigrationOrderCall
- type MigrationRollbackCall
- type MockMigration
- type MockMigrationMockRecorder
- type Opt
- type Statement
- type Tx
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNoConnection is returned if pooled connection is not available. ErrNoConnection = errors.New("database: no free connection") // ErrNotFound is returned if requested record is not found. ErrNotFound = errors.New("database: not found") // ErrObjectExists is returned if database constraints didn't allow to insert an object. ErrObjectExists = errors.New("database: object exists") )
Functions ¶
Types ¶
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
Database is an instance of sqlite database.
func Open ¶
Open database with options.
Database is opened in WAL mode and pragma synchronous=normal. https://sqlite.org/wal.html https://www.sqlite.org/pragma.html#pragma_synchronous
func (*Database) Exec ¶
Exec statement using one of the connection from the pool.
If you care about atomicity of the operation (for example writing rewards to multiple accounts) Tx should be used. Otherwise sqlite will not guarantee that all side-effects of operations are applied to the database if machine crashes.
Note that Exec will block until database is closed or statement has finished. If application needs to control statement execution lifetime use one of the transaction.
func (*Database) Tx ¶
Tx creates deferred sqlite transaction.
Deferred transactions are not started until the first statement. Transaction may be started in read mode and automatically upgraded to write mode after one of the write statements.
func (*Database) TxImmediate ¶
TxImmediate creates immediate transaction.
IMMEDIATE cause the database connection to start a new write immediately, without waiting for a write statement. The BEGIN IMMEDIATE might fail with SQLITE_BUSY if another write transaction is already active on another database connection.
type Encoder ¶
type Encoder func(*Statement)
Encoder for parameters. Both positional parameters: select block from blocks where id = ?1;
and named parameters are supported: select blocks from blocks where id = @id;
For complete information see https://www.sqlite.org/c3ref/bind_blob.html.
type Migration ¶ added in v1.3.0
Migration is interface for migrations provider.
func LocalMigrations ¶ added in v1.3.0
func StateMigrations ¶ added in v1.3.0
type MigrationApplyCall ¶ added in v1.3.0
MigrationApplyCall wrap *gomock.Call
func (*MigrationApplyCall) Do ¶ added in v1.3.0
func (c *MigrationApplyCall) Do(f func(Executor) error) *MigrationApplyCall
Do rewrite *gomock.Call.Do
func (*MigrationApplyCall) DoAndReturn ¶ added in v1.3.0
func (c *MigrationApplyCall) DoAndReturn(f func(Executor) error) *MigrationApplyCall
DoAndReturn rewrite *gomock.Call.DoAndReturn
func (*MigrationApplyCall) Return ¶ added in v1.3.0
func (c *MigrationApplyCall) Return(arg0 error) *MigrationApplyCall
Return rewrite *gomock.Call.Return
type MigrationNameCall ¶ added in v1.3.0
MigrationNameCall wrap *gomock.Call
func (*MigrationNameCall) Do ¶ added in v1.3.0
func (c *MigrationNameCall) Do(f func() string) *MigrationNameCall
Do rewrite *gomock.Call.Do
func (*MigrationNameCall) DoAndReturn ¶ added in v1.3.0
func (c *MigrationNameCall) DoAndReturn(f func() string) *MigrationNameCall
DoAndReturn rewrite *gomock.Call.DoAndReturn
func (*MigrationNameCall) Return ¶ added in v1.3.0
func (c *MigrationNameCall) Return(arg0 string) *MigrationNameCall
Return rewrite *gomock.Call.Return
type MigrationOrderCall ¶ added in v1.3.0
MigrationOrderCall wrap *gomock.Call
func (*MigrationOrderCall) Do ¶ added in v1.3.0
func (c *MigrationOrderCall) Do(f func() int) *MigrationOrderCall
Do rewrite *gomock.Call.Do
func (*MigrationOrderCall) DoAndReturn ¶ added in v1.3.0
func (c *MigrationOrderCall) DoAndReturn(f func() int) *MigrationOrderCall
DoAndReturn rewrite *gomock.Call.DoAndReturn
func (*MigrationOrderCall) Return ¶ added in v1.3.0
func (c *MigrationOrderCall) Return(arg0 int) *MigrationOrderCall
Return rewrite *gomock.Call.Return
type MigrationRollbackCall ¶ added in v1.3.0
MigrationRollbackCall wrap *gomock.Call
func (*MigrationRollbackCall) Do ¶ added in v1.3.0
func (c *MigrationRollbackCall) Do(f func() error) *MigrationRollbackCall
Do rewrite *gomock.Call.Do
func (*MigrationRollbackCall) DoAndReturn ¶ added in v1.3.0
func (c *MigrationRollbackCall) DoAndReturn(f func() error) *MigrationRollbackCall
DoAndReturn rewrite *gomock.Call.DoAndReturn
func (*MigrationRollbackCall) Return ¶ added in v1.3.0
func (c *MigrationRollbackCall) Return(arg0 error) *MigrationRollbackCall
Return rewrite *gomock.Call.Return
type MockMigration ¶ added in v1.3.0
type MockMigration struct {
// contains filtered or unexported fields
}
MockMigration is a mock of Migration interface.
func NewMockMigration ¶ added in v1.3.0
func NewMockMigration(ctrl *gomock.Controller) *MockMigration
NewMockMigration creates a new mock instance.
func (*MockMigration) Apply ¶ added in v1.3.0
func (m *MockMigration) Apply(db Executor) error
Apply mocks base method.
func (*MockMigration) EXPECT ¶ added in v1.3.0
func (m *MockMigration) EXPECT() *MockMigrationMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockMigration) Name ¶ added in v1.3.0
func (m *MockMigration) Name() string
Name mocks base method.
func (*MockMigration) Order ¶ added in v1.3.0
func (m *MockMigration) Order() int
Order mocks base method.
func (*MockMigration) Rollback ¶ added in v1.3.0
func (m *MockMigration) Rollback() error
Rollback mocks base method.
type MockMigrationMockRecorder ¶ added in v1.3.0
type MockMigrationMockRecorder struct {
// contains filtered or unexported fields
}
MockMigrationMockRecorder is the mock recorder for MockMigration.
func (*MockMigrationMockRecorder) Apply ¶ added in v1.3.0
func (mr *MockMigrationMockRecorder) Apply(db any) *MigrationApplyCall
Apply indicates an expected call of Apply.
func (*MockMigrationMockRecorder) Name ¶ added in v1.3.0
func (mr *MockMigrationMockRecorder) Name() *MigrationNameCall
Name indicates an expected call of Name.
func (*MockMigrationMockRecorder) Order ¶ added in v1.3.0
func (mr *MockMigrationMockRecorder) Order() *MigrationOrderCall
Order indicates an expected call of Order.
func (*MockMigrationMockRecorder) Rollback ¶ added in v1.3.0
func (mr *MockMigrationMockRecorder) Rollback() *MigrationRollbackCall
Rollback indicates an expected call of Rollback.
type Opt ¶
type Opt func(c *conf)
Opt for configuring database.
func WithConnections ¶
WithConnections overwrites number of pooled connections.
func WithLatencyMetering ¶
WithLatencyMetering enables metric that track latency for every database query. Note that it will be a significant amount of data, and should not be enabled on multiple nodes by default.
func WithMigration ¶ added in v1.3.0
WithMigration adds migration to the list of migrations. It will overwrite an existing migration with the same order.
func WithMigrations ¶
WithMigrations overwrites embedded migrations. Migrations are sorted by order before applying.
func WithSkipMigrations ¶ added in v1.3.0
WithSkipMigrations will update database version with executing associated migrations. It should be used at your own risk.
func WithVacuumState ¶ added in v1.3.0
WithVacuumState will execute vacuum if database version before the migration was less or equal to the provided value.