Back to godoc.org

Package dialect

v0.3.0
Latest Go to latest
Published: Aug 4, 2020 | License: Apache-2.0 | Module: github.com/facebookincubator/ent

Index

Package Files

Constants

const (
	MySQL    = "mysql"
	SQLite   = "sqlite3"
	Postgres = "postgres"
	Gremlin  = "gremlin"
)

Dialect names for external usage.

type DebugDriver

type DebugDriver struct {
	Driver // underlying driver.
	// contains filtered or unexported fields
}

DebugDriver is a driver that logs all driver operations.

func (*DebugDriver) Exec

func (d *DebugDriver) Exec(ctx context.Context, query string, args, v interface{}) error

Exec logs its params and calls the underlying driver Exec method.

func (*DebugDriver) Query

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

Query logs its params and calls the underlying driver Query method.

func (*DebugDriver) Tx

func (d *DebugDriver) Tx(ctx context.Context) (Tx, error)

Tx adds an log-id for the transaction and calls the underlying driver Tx command.

type DebugTx

type DebugTx struct {
	Tx // underlying transaction.
	// contains filtered or unexported fields
}

DebugTx is a transaction implementation that logs all transaction operations.

func (*DebugTx) Commit

func (d *DebugTx) Commit() error

Commit logs this step and calls the underlying transaction Commit method.

func (*DebugTx) Exec

func (d *DebugTx) Exec(ctx context.Context, query string, args, v interface{}) error

Exec logs its params and calls the underlying transaction Exec method.

func (*DebugTx) Query

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

Query logs its params and calls the underlying transaction Query method.

func (*DebugTx) Rollback

func (d *DebugTx) Rollback() error

Rollback logs this step and calls the underlying transaction Rollback method.

type Driver

type Driver interface {
	ExecQuerier
	// Tx starts and returns a new transaction.
	// The provided context is used until the transaction is committed or rolled back.
	Tx(context.Context) (Tx, error)
	// Close closes the underlying connection.
	Close() error
	// Dialect returns the dialect name of the driver.
	Dialect() string
}

Driver is the interface that wraps all necessary operations for ent clients.

func Debug

func Debug(d Driver, logger ...func(...interface{})) Driver

Debug gets a driver and an optional logging function, and returns a new debugged-driver that prints all outgoing operations.

func DebugWithContext

func DebugWithContext(d Driver, logger func(context.Context, ...interface{})) Driver

DebugWithContext gets a driver and a logging function, and returns a new debugged-driver that prints all outgoing operations with context.

type ExecQuerier

type ExecQuerier interface {
	// Exec executes a query that doesn't return rows. For example, in SQL, INSERT or UPDATE.
	// It scans the result into the pointer v. In SQL, you it's usually sql.Result.
	Exec(ctx context.Context, query string, args, v interface{}) error
	// Query executes a query that returns rows, typically a SELECT in SQL.
	// It scans the result into the pointer v. In SQL, you it's usually *sql.Rows.
	Query(ctx context.Context, query string, args, v interface{}) error
}

ExecQuerier wraps the 2 database operations.

type Tx

type Tx interface {
	ExecQuerier
	driver.Tx
}

Tx wraps the Exec and Query operations in transaction.

func NopTx

func NopTx(d Driver) Tx

NopTx returns a Tx with a no-op Commit / Rollback methods wrapping the provided Driver d.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier