engine

package
v0.42.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2024 License: Apache-2.0 Imports: 29 Imported by: 1

README

Engine

This package refers to the handling of the Prisma query engine. It handles the lifecycle of starting the engine, sending requests to it, and shutting it down.

The main implementation is the QueryEngine, which refers to the rust query engine. Alternative implementations are the data proxy, which is a remote query engine hosted by Prisma, and a mock engine used for testing.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TransformResponse added in v0.39.0

func TransformResponse(data []byte) ([]byte, error)

TransformResponse for raw queries

Types

type DataProxyEngine

type DataProxyEngine struct {

	// Schema contains the prisma Schema
	Schema string
	// contains filtered or unexported fields
}

func NewDataProxyEngine

func NewDataProxyEngine(schema, connectionURL string) *DataProxyEngine

func (*DataProxyEngine) Batch

func (e *DataProxyEngine) Batch(ctx context.Context, payload interface{}, into interface{}) error

func (*DataProxyEngine) Connect

func (e *DataProxyEngine) Connect() error

func (*DataProxyEngine) Disconnect

func (e *DataProxyEngine) Disconnect() error

func (*DataProxyEngine) Do

func (e *DataProxyEngine) Do(ctx context.Context, payload interface{}, into interface{}) error

func (*DataProxyEngine) Name

func (e *DataProxyEngine) Name() string

type DatasourceOverride added in v0.27.0

type DatasourceOverride struct {
	Name string `json:"name"`
	URL  string `json:"url"`
}

type Engine

type Engine interface {
	Connect() error
	Disconnect() error
	Do(ctx context.Context, payload interface{}, into interface{}) error
	Batch(ctx context.Context, payload interface{}, into interface{}) error
	Name() string
}

type Input added in v0.39.0

type Input struct {
	Columns []string        `json:"columns"`
	Types   []string        `json:"types"`
	Rows    [][]interface{} `json:"rows"`
}

type Messsage added in v0.28.0

type Messsage struct {
	IsPanic bool   `json:"is_panic"`
	Message string `json:"message"`
}

type QueryEngine

type QueryEngine struct {
	// Schema contains the prisma Schema
	Schema string
	// contains filtered or unexported fields
}

func NewQueryEngine

func NewQueryEngine(schema string, hasBinaryTargets bool, datasources string, datasourceURL string) *QueryEngine

func (*QueryEngine) Batch

func (e *QueryEngine) Batch(ctx context.Context, payload interface{}, v interface{}) error

Batch sends a batch request to the query engine; used for transactions

func (*QueryEngine) Connect

func (e *QueryEngine) Connect() error

func (*QueryEngine) Disconnect

func (e *QueryEngine) Disconnect() error

func (*QueryEngine) Do

func (e *QueryEngine) Do(ctx context.Context, payload interface{}, v interface{}) error

Do sends the http Request to the query engine and unmarshals the response

func (*QueryEngine) GetEncodedDatasources added in v0.27.0

func (e *QueryEngine) GetEncodedDatasources() (string, error)

func (*QueryEngine) Name

func (e *QueryEngine) Name() string

func (*QueryEngine) ReplaceSchema

func (e *QueryEngine) ReplaceSchema(replace func(schema string) string)

deprecated

func (*QueryEngine) Request

func (e *QueryEngine) Request(ctx context.Context, method string, path string, payload interface{}, requiresConnection bool) ([]byte, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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