db

package
v0.2.0-beta6-bridge-tmp Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2025 License: Apache-2.0, MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UniqueConstrain = 1555
)

Variables

View Source
var (
	ErrNotFound = errors.New("not found")
)

Functions

func NewSQLiteDB

func NewSQLiteDB(dbPath string) (*sql.DB, error)

NewSQLiteDB creates a new SQLite DB

func RegisterMeddler added in v0.3.0

func RegisterMeddler(name string, meddlerType meddler.Meddler)

RegisterMeddlerType registers a new meddler type with the given name

func ReturnErrNotFound

func ReturnErrNotFound(err error) error

func RunMigrations

func RunMigrations(dbPath string, migrations []types.Migration) error

RunMigrations will execute pending migrations if needed to keep the database updated with the latest changes in either direction, up or down.

func RunMigrationsDB

func RunMigrationsDB(logger *log.Logger, db *sql.DB, migrationsParam []types.Migration) error

func SQLiteErr

func SQLiteErr(err error) (*sqlite.Error, bool)

func SlicePtrsToSlice

func SlicePtrsToSlice(slice interface{}) interface{}

SlicePtrsToSlice converts any []*Foo to []Foo

func SliceToSlicePtrs

func SliceToSlicePtrs(slice interface{}) interface{}

SliceToSlicePtrs converts any []Foo to []*Foo

Types

type AddressMeddler

type AddressMeddler struct{}

AddressMeddler encodes or decodes the field value to or from string

func (AddressMeddler) PostRead

func (b AddressMeddler) PostRead(fieldPtr, scanTarget interface{}) error

PostRead is called after a Scan operation for fields that have the AddressMeddler

func (AddressMeddler) PreRead

func (b AddressMeddler) PreRead(fieldAddr interface{}) (scanTarget interface{}, err error)

PreRead is called before a Scan operation for fields that have the AddressMeddler

func (AddressMeddler) PreWrite

func (b AddressMeddler) PreWrite(fieldPtr interface{}) (saveValue interface{}, err error)

PreWrite is called before an Insert or Update operation for fields that have the AddressMeddler

type BigIntMeddler

type BigIntMeddler struct{}

BigIntMeddler encodes or decodes the field value to or from string

func (BigIntMeddler) PostRead

func (b BigIntMeddler) PostRead(fieldPtr, scanTarget interface{}) error

PostRead is called after a Scan operation for fields that have the BigIntMeddler

func (BigIntMeddler) PreRead

func (b BigIntMeddler) PreRead(fieldAddr interface{}) (scanTarget interface{}, err error)

PreRead is called before a Scan operation for fields that have the BigIntMeddler

func (BigIntMeddler) PreWrite

func (b BigIntMeddler) PreWrite(fieldPtr interface{}) (saveValue interface{}, err error)

PreWrite is called before an Insert or Update operation for fields that have the BigIntMeddler

type DBA added in v0.2.0

type DBA = sql.DB

type DBer

type DBer interface {
	Querier
	BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)
}

type HashMeddler

type HashMeddler struct{}

HashMeddler encodes or decodes the field value to or from string

func (HashMeddler) PostRead

func (b HashMeddler) PostRead(fieldPtr, scanTarget interface{}) error

PostRead is called after a Scan operation for fields that have the HashMeddler

func (HashMeddler) PreRead

func (b HashMeddler) PreRead(fieldAddr interface{}) (scanTarget interface{}, err error)

PreRead is called before a Scan operation for fields that have the HashMeddler

func (HashMeddler) PreWrite

func (b HashMeddler) PreWrite(fieldPtr interface{}) (saveValue interface{}, err error)

PreWrite is called before an Insert or Update operation for fields that have the HashMeddler

type KeyValueStorage added in v0.2.0

type KeyValueStorage struct {
	*sql.DB
}

func NewKeyValueStorage added in v0.2.0

func NewKeyValueStorage(db *sql.DB) *KeyValueStorage

func (*KeyValueStorage) ExistsKey added in v0.2.0

func (kv *KeyValueStorage) ExistsKey(tx Querier, owner, key string) (bool, error)

func (*KeyValueStorage) GetValue added in v0.2.0

func (kv *KeyValueStorage) GetValue(tx Querier, owner, key string) (string, error)

func (*KeyValueStorage) InsertValue added in v0.2.0

func (kv *KeyValueStorage) InsertValue(tx Querier, owner, key, value string) error

type MerkleProofMeddler

type MerkleProofMeddler struct{}

MerkleProofMeddler encodes or decodes the field value to or from string

func (MerkleProofMeddler) PostRead

func (b MerkleProofMeddler) PostRead(fieldPtr, scanTarget interface{}) error

PostRead is called after a Scan operation for fields that have the MerkleProofMeddler

func (MerkleProofMeddler) PreRead

func (b MerkleProofMeddler) PreRead(fieldAddr interface{}) (scanTarget interface{}, err error)

PreRead is called before a Scan operation for fields that have the MerkleProofMeddler

func (MerkleProofMeddler) PreWrite

func (b MerkleProofMeddler) PreWrite(fieldPtr interface{}) (saveValue interface{}, err error)

PreWrite is called before an Insert or Update operation for fields that have the MerkleProofMeddler

type Querier

type Querier interface {
	Exec(query string, args ...interface{}) (sql.Result, error)
	Query(query string, args ...interface{}) (*sql.Rows, error)
	QueryRow(query string, args ...interface{}) *sql.Row
}

type SQLTxer

type SQLTxer interface {
	Querier
	Commit() error
	Rollback() error
}

type Tx

type Tx struct {
	SQLTxer
	// contains filtered or unexported fields
}

func (*Tx) AddCommitCallback

func (s *Tx) AddCommitCallback(cb func())

func (*Tx) AddRollbackCallback

func (s *Tx) AddRollbackCallback(cb func())

func (*Tx) Commit

func (s *Tx) Commit() error

func (*Tx) Rollback

func (s *Tx) Rollback() error

type Txer

type Txer interface {
	SQLTxer
	AddRollbackCallback(cb func())
	AddCommitCallback(cb func())
}

func NewTx

func NewTx(ctx context.Context, db DBer) (Txer, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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