package xsql

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

Index

Constants

const (
	UnknownQueryMode = QueryMode(iota)
	DataQueryMode
	ExplainQueryMode
	ScanQueryMode
	SchemeQueryMode
	ScriptingQueryMode

	DefaultQueryMode = DataQueryMode
)

Variables

var (
	ErrUnsupported = driver.ErrSkip
)

Functions

func WithQueryMode

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

WithQueryMode returns a copy of context with given QueryMode

func WithTxControl

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

Types

type Connector

type Connector struct {
	Bindings       bind.Bindings
	PathNormalizer pathNormalizer
	// contains filtered or unexported fields
}

Connector is a producer of database/sql connections

func Open

func Open(parent ydbDriver, 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) Driver

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

type ConnectorOption

type ConnectorOption interface {
	Apply(c *Connector) error
}

func Parse

func Parse(dataSourceName string) (opts []config.Option, connectorOpts []ConnectorOption, _ 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 WithFakeTx

func WithFakeTx(m QueryMode) ConnectorOption

WithFakeTx returns a copy of context with given QueryMode

func WithIdleThreshold

func WithIdleThreshold(idleThreshold time.Duration) ConnectorOption

func WithOnClose

func WithOnClose(f func(connector *Connector)) ConnectorOption

func WithTrace

type QueryBindConnectorOption

type QueryBindConnectorOption interface {
	ConnectorOption
	bind.Bind
}

func WithQueryBind

func WithQueryBind(bind bind.Bind) QueryBindConnectorOption

func WithTablePathPrefix

func WithTablePathPrefix(tablePathPrefix string) QueryBindConnectorOption

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 dsn.go errors.go mode.go rows.go stmt.go tx.go tx_fake.go unwrap_go1.18.go valuer.go

Directories

PathSynopsis
internal/xsql/badconn
internal/xsql/isolation
Version
v3.44.1
Published
Apr 22, 2023
Platform
linux/amd64
Imports
33 packages
Last checked
1 minute ago

Tools for package owners.