db

package
v4.6.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2019 License: MIT Imports: 7 Imported by: 27

Documentation

Overview

Package db exposes a lightweight abstraction over the SQLite code. It performs some basic mapping of lower-level types to rqlite types.

Index

Constants

This section is empty.

Variables

View Source
var DBVersion string

DBVersion is the SQLite version.

Functions

This section is empty.

Types

type DB

type DB struct {
	// contains filtered or unexported fields
}

DB is the SQL database.

func LoadInMemoryWithDSN

func LoadInMemoryWithDSN(dbPath, dsn string) (*DB, error)

LoadInMemoryWithDSN loads an in-memory database with that at the path, with the specified DSN

func Open

func Open(dbPath string) (*DB, error)

Open opens a file-based database, creating it if it does not exist.

func OpenInMemory

func OpenInMemory() (*DB, error)

OpenInMemory opens an in-memory database.

func OpenInMemoryWithDSN

func OpenInMemoryWithDSN(dsn string) (*DB, error)

OpenInMemoryWithDSN opens an in-memory database with a specific DSN.

func OpenWithDSN

func OpenWithDSN(dbPath, dsn string) (*DB, error)

OpenWithDSN opens a file-based database, creating it if it does not exist.

func (*DB) AbortTransaction

func (db *DB) AbortTransaction() error

AbortTransaction aborts -- rolls back -- any active transaction. Calling code should know exactly what it is doing if it decides to call this function. It can be used to clean up any dangling state that may result from certain error scenarios.

func (*DB) Backup

func (db *DB) Backup(path string) error

Backup writes a consistent snapshot of the database to the given file.

func (*DB) Close

func (db *DB) Close() error

Close closes the underlying database connection.

func (*DB) Dump

func (db *DB) Dump(w io.Writer) error

Dump writes a consistent snapshot of the database in SQL text format.

func (*DB) EnableFKConstraints

func (db *DB) EnableFKConstraints(e bool) error

EnableFKConstraints allows control of foreign key constraint checks.

func (*DB) Execute

func (db *DB) Execute(queries []string, tx, xTime bool) ([]*Result, error)

Execute executes queries that modify the database.

func (*DB) FKConstraints

func (db *DB) FKConstraints() (bool, error)

FKConstraints returns whether FK constraints are set or not.

func (*DB) Query

func (db *DB) Query(queries []string, tx, xTime bool) ([]*Rows, error)

Query executes queries that return rows, but don't modify the database.

func (*DB) TransactionActive

func (db *DB) TransactionActive() bool

TransactionActive returns whether a transaction is currently active i.e. if the database is NOT in autocommit mode.

type Result

type Result struct {
	LastInsertID int64   `json:"last_insert_id,omitempty"`
	RowsAffected int64   `json:"rows_affected,omitempty"`
	Error        string  `json:"error,omitempty"`
	Time         float64 `json:"time,omitempty"`
}

Result represents the outcome of an operation that changes rows.

type Rows

type Rows struct {
	Columns []string        `json:"columns,omitempty"`
	Types   []string        `json:"types,omitempty"`
	Values  [][]interface{} `json:"values,omitempty"`
	Error   string          `json:"error,omitempty"`
	Time    float64         `json:"time,omitempty"`
}

Rows represents the outcome of an operation that returns query data.

Jump to

Keyboard shortcuts

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