package table

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

Index

Functions

func NewTimeToLiveSettings

func NewTimeToLiveSettings(settings *Ydb_Table.TtlSettings) *options.TimeToLiveSettings

func Session

func Session(id string, cc grpc.ClientConnInterface, config *config.Config) *session

Types

type Client

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

Client is a set of session instances that may be reused. A Client is safe for use by multiple goroutines simultaneously.

func New

func (*Client) BulkUpsert

func (c *Client) BulkUpsert(
	ctx context.Context,
	tableName string,
	data table.BulkUpsertData,
	opts ...table.Option,
) (finalErr error)

func (*Client) Close

func (c *Client) Close(ctx context.Context) (err error)

Close deletes all stored sessions inside Client. It also stops all underlying timers and goroutines. It returns first error occurred during stale sessions' deletion. Note that even on error it calls Close() on each session.

func (*Client) CreateSession

func (c *Client) CreateSession(ctx context.Context, opts ...table.Option) (_ table.ClosableSession, err error)

func (*Client) Do

func (c *Client) Do(ctx context.Context, op table.Operation, opts ...table.Option) (finalErr error)

Do provide the best effort for execute operation Do implements internal busy loop until one of the following conditions is met: - deadline was canceled or deadlined - retry operation returned nil as error Warning: if deadline without deadline or cancellation func Retry will be worked infinite

func (*Client) DoTx

func (c *Client) DoTx(ctx context.Context, op table.TxOperation, opts ...table.Option) (finalErr error)

Source Files

client.go data_query.go errors.go retry.go session.go statement.go transaction.go ttl.go

Directories

PathSynopsis
internal/table/config
internal/table/scanner
Version
v3.96.2
Published
Jan 15, 2025
Platform
linux/amd64
Imports
37 packages
Last checked
16 seconds ago

Tools for package owners.