package xsql

import "github.com/ydb-platform/ydb-go-sdk/v3/internal/xsql"

Index

Constants

const (
	UnknownQueryMode = iota
	DataQueryMode
	ExplainQueryMode
	ScanQueryMode
	SchemeQueryMode
	ScriptingQueryMode

	DefaultQueryMode = DataQueryMode
)

Variables

var (
	ErrUnsupported = driver.ErrSkip
)

Functions

func GenerateDeclareSection

func GenerateDeclareSection(args []sql.NamedArg) (string, error)

GenerateDeclareSection generates DECLARE section text in YQL query by params

Warning: This is an experimental feature and could change at any time

func ToYdbParam

func ToYdbParam(param sql.NamedArg) (table.ParameterOption, error)

func WithDataQueryOptions

func WithDataQueryOptions(ctx context.Context, opts ...options.ExecuteDataQueryOption) context.Context

func WithQueryMode

func WithQueryMode(ctx context.Context, m QueryMode) context.Context

WithQueryMode returns a copy of context with given QueryMode

func WithScanQueryOptions

func WithScanQueryOptions(ctx context.Context, opts ...options.ExecuteScanQueryOption) context.Context

func WithTxControl

func WithTxControl(ctx context.Context, txc *table.TransactionControl) context.Context

Types

type Connector

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

Connector is a producer of database/sql connections

func Open

func Open(d Driver, connection connection, opts ...ConnectorOption) (_ *Connector, err error)

func Unwrap

func Unwrap[T *sql.DB | *sql.Conn](v T) (connector *Connector, err error)

func (*Connector) Close

func (c *Connector) Close() (err error)

func (*Connector) Connect

func (c *Connector) Connect(ctx context.Context) (_ driver.Conn, err error)

func (*Connector) Connection

func (c *Connector) Connection() connection

func (*Connector) Driver

func (c *Connector) Driver() driver.Driver

type ConnectorOption

type ConnectorOption func(c *Connector) error

func Parse

func Parse(dataSourceName string) (opts []config.Option, connectorOpts []ConnectorOption, err error)

func WithDefaultDataQueryOptions

func WithDefaultDataQueryOptions(opts ...options.ExecuteDataQueryOption) ConnectorOption

func WithDefaultQueryMode

func WithDefaultQueryMode(mode QueryMode) ConnectorOption

func WithDefaultScanQueryOptions

func WithDefaultScanQueryOptions(opts ...options.ExecuteScanQueryOption) ConnectorOption

func WithDefaultTxControl

func WithDefaultTxControl(txControl *table.TransactionControl) ConnectorOption

func WithDisableServerBalancer

func WithDisableServerBalancer() ConnectorOption

func WithIdleThreshold

func WithIdleThreshold(idleThreshold time.Duration) ConnectorOption

func WithTrace

type Driver

type Driver interface {
	driver.Driver

	Attach(c *Connector)
	Detach(c *Connector)
}

type QueryMode

type QueryMode int

func QueryModeFromString

func QueryModeFromString(s string) QueryMode

func (QueryMode) String

func (t QueryMode) String() string

Source Files

conn.go connector.go context.go convert.go dsn.go errors.go mode.go rows.go stmt.go tx.go unwrap_go1.18.go valuer.go

Directories

PathSynopsis
internal/xsql/badconn
internal/xsql/isolation
Version
v3.42.7
Published
Jan 30, 2023
Platform
js/wasm
Imports
31 packages
Last checked
12 seconds ago

Tools for package owners.