sqldb

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 2022 License: MPL-2.0 Imports: 2 Imported by: 6

Documentation

Overview

Package sqldb provides Encore services direct access to their databases.

For the documentation on how to use databases within Encore see https://encore.dev/docs/develop/databases.

Index

Constants

This section is empty.

Variables

View Source
var ErrNoRows = sql.ErrNoRows

An error satisfying ErrNoRows is reported by Scan when QueryRow doesn't return a row. It must be tested against with errors.Is.

Functions

func Commit

func Commit(tx *Tx) error

Commit commits the given transaction.

See (*database/sql.Tx).Commit() for additional documentation. Deprecated: use tx.Commit() instead.

func Rollback

func Rollback(tx *Tx) error

Rollback rolls back the given transaction.

See (*database/sql.Tx).Rollback() for additional documentation. Deprecated: use tx.Rollback() instead.

Types

type Database added in v0.17.0

type Database struct{}

func Named added in v0.17.0

func Named(name constStr) *Database

Named returns a database object connected to the database with the given name.

The name must be a string literal constant, to facilitate static analysis.

func (*Database) Begin added in v0.17.0

func (*Database) Begin(ctx context.Context) (*Tx, error)

func (*Database) Exec added in v0.17.0

func (*Database) Exec(ctx context.Context, query string, args ...interface{}) (ExecResult, error)

func (*Database) Query added in v0.17.0

func (*Database) Query(ctx context.Context, query string, args ...interface{}) (*Rows, error)

func (*Database) QueryRow added in v0.17.0

func (*Database) QueryRow(ctx context.Context, query string, args ...interface{}) *Row

func (*Database) Stdlib added in v0.17.1

func (*Database) Stdlib() *sql.DB

Stdlib returns a *sql.DB object that is connected to the same db, for use with libraries that expect a *sql.DB.

type ExecResult added in v0.17.0

type ExecResult interface {
	// RowsAffected returns the number of rows affected. If the result was not
	// for a row affecting command (e.g. "CREATE TABLE") then it returns 0.
	RowsAffected() int64
}

ExecResult is the result of an Exec query.

func Exec

func Exec(ctx context.Context, query string, args ...interface{}) (ExecResult, error)

Exec executes a query without returning any rows. The args are for any placeholder parameters in the query.

See (*database/sql.DB).ExecContext() for additional documentation.

func ExecTx

func ExecTx(tx *Tx, ctx context.Context, query string, args ...interface{}) (ExecResult, error)

ExecTx is like Exec but executes the query in the given transaction.

See (*database/sql.Tx).ExecContext() for additional documentation. Deprecated: use tx.Exec() instead.

type Row

type Row struct{}

Row is the result of calling QueryRow to select a single row.

See *database/sql.Row for additional documentation.

func QueryRow

func QueryRow(ctx context.Context, query string, args ...interface{}) *Row

QueryRow executes a query that is expected to return at most one row.

See (*database/sql.DB).QueryRowContext() for additional documentation.

func QueryRowTx

func QueryRowTx(tx *Tx, ctx context.Context, query string, args ...interface{}) *Row

QueryRowTx is like QueryRow but executes the query in the given transaction.

See (*database/sql.Tx).QueryRowContext() for additional documentation. Deprecated: use tx.QueryRow() instead.

func (*Row) Scan

func (*Row) Scan(dest ...interface{}) error

Scan copies the columns from the matched row into the values pointed at by dest.

See (*database/sql.Row).Scan() for additional documentation.

type Rows

type Rows struct{}

Rows is the result of a query. Its cursor starts before the first row of the result set. Use Next to advance from row to row.

See *database/sql.Rows for additional documentation.

func Query

func Query(ctx context.Context, query string, args ...interface{}) (*Rows, error)

Query executes a query that returns rows, typically a SELECT. The args are for any placeholder parameters in the query.

See (*database/sql.DB).QueryContext() for additional documentation.

func QueryTx

func QueryTx(tx *Tx, ctx context.Context, query string, args ...interface{}) (*Rows, error)

QueryTx is like Query but executes the query in the given transaction.

See (*database/sql.Tx).QueryContext() for additional documentation. Deprecated: use tx.Query() instead.

func (*Rows) Close

func (*Rows) Close() error

Close closes the Rows, preventing further enumeration.

See (*database/sql.Rows).Close() for additional documentation.

func (*Rows) Err

func (*Rows) Err() error

Err returns the error, if any, that was encountered during iteration. Err may be called after an explicit or implicit Close.

See (*database/sql.Rows).Err() for additional documentation.

func (*Rows) Next

func (*Rows) Next() bool

Next prepares the next result row for reading with the Scan method. It returns true on success, or false if there is no next result row or an error happened while preparing it. Err should be consulted to distinguish between the two cases.

Every call to Scan, even the first one, must be preceded by a call to Next.

See (*database/sql.Rows).Next() for additional documentation.

func (*Rows) Scan

func (*Rows) Scan(dest ...interface{}) error

Scan copies the columns in the current row into the values pointed at by dest. The number of values in dest must be the same as the number of columns in Rows.

See (*database/sql.Rows).Scan() for additional documentation.

type Tx

type Tx struct{}

Tx is a handle to a database transaction.

See *database/sql.Tx for additional documentation.

func Begin

func Begin(ctx context.Context) (*Tx, error)

Begin opens a new database transaction.

See (*database/sql.DB).Begin() for additional documentation.

func (*Tx) Commit added in v0.17.0

func (*Tx) Commit() error

Commit commits the given transaction.

See (*database/sql.Tx).Commit() for additional documentation.

func (*Tx) Exec added in v0.17.0

func (*Tx) Exec(ctx context.Context, query string, args ...interface{}) (ExecResult, error)

Exec is like Exec but executes the query in the given transaction.

See (*database/sql.Tx).ExecContext() for additional documentation.

func (*Tx) Query added in v0.17.0

func (*Tx) Query(ctx context.Context, query string, args ...interface{}) (*Rows, error)

Query is like Query but executes the query in the given transaction.

See (*database/sql.Tx).QueryContext() for additional documentation.

func (*Tx) QueryRow added in v0.17.0

func (*Tx) QueryRow(ctx context.Context, query string, args ...interface{}) *Row

QueryRow is like QueryRow but executes the query in the given transaction.

See (*database/sql.Tx).QueryRowContext() for additional documentation.

func (*Tx) Rollback added in v0.17.0

func (*Tx) Rollback() error

Rollback rolls back the given transaction.

See (*database/sql.Tx).Rollback() for additional documentation.

Jump to

Keyboard shortcuts

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