Documentation

Index

Constants

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

Dialect names for external usage.


Variables

This section is empty.

Functions

This section is empty.

Types

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.

Source Files

Directories

Path Synopsis
entsql
gremlin
gremlin/encoding
gremlin/encoding/graphson
gremlin/graph
gremlin/graph/dsl Package dsl provide an API for writing gremlin dsl queries almost as-is in Go without using strings in the code.
gremlin/graph/dsl/g
gremlin/graph/dsl/p
gremlin/internal/ws
gremlin/ocgremlin
sql Package sql provides wrappers around the standard database/sql package to allow the generated code to interact with a statically-typed API.
sql/schema Package schema contains all schema migration logic for SQL dialects.
sql/sqlgraph sqlgraph provides graph abstraction capabilities on top of sql-based databases for ent codegen.
sql/sqljson